2018-2-26 Linux学习笔记
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-2-26 Linux学习笔记相关的知识,希望对你有一定的参考价值。
11.1 LAMP架构介绍
- Linux+Apache(httpd)+mysql+php
Linux: 操作系统
Apache: 提供Web服务的软件,真正名字叫httpd
MySQL: 存储数据,字符串的数据库
PHP: 用C开发,类似shell但比shell高级,通常用于做网站 -
Apache,MySQL,PHP三个角色可以在一台机器上,也可以分开,但Apache(httpd)和PHP要在一起,因为PHP是以一个模块的形式存在Apache上的.
- 静态请求: 直接由webserver处理的请求,比如图片,js,css等.
用户<-->Apache<-->静态文件 - 动态请求: 需要和数据库打交道的请求.
用户<-->Apache<-->PHP模块<-->MySQL
11.2 MySQL_MariaDB介绍
-
MySQL是一个关系型数据库,由mysql ab公司开发,mysql在2008年被sun公司收购(10亿美元),2009年sun公司被oracle公司收购(74亿美元).MySQL官网https://www.mysql.com.MySQL5.6变化比较大,5.7性能上有很大提升.
- Mariadb为MySQL的一个分支,官网https://mariadb.com
- Mariadb主要由SkySQL公司(现更名为MariaDB公司)维护,SkySQL公司由MySQL原作者带领大部分原班人马创立.
-
Mariadb5.5版本对应MySQL的5.5,10.0对应MySQL5.6
- MySQL各个版本:
Community社区版本
Enterprise企业版
GA(Generally Available)通用版本,在生产环境中用的
DMR(Development Milestone Release)开发里程碑发布版
RC(Release Candidate)发行候选版本
Beta开放测试版本
Alpha内部测试版本
11.3/4/5 MySQL安装
-
MySQL的几个常用安装包: rpm,源码,二进制免编译.
- 二进制免编译包是在其他Linux机器已经编译后打包的,安装时无需再编译,与rpm包安装类似,但胜于rpm包的一点是它能指定安装的路径,而rpm包不能指定.
-
二进制免编译包可不足之处是性能可能不能保证,如果追求性能建议用源码安装方式.
- 二进制免编译包安装MySQL简要步骤:
cd /usr/local/src
wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz #下载MySQL二进制免编译包
tar zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz #解压安装包
mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql #将安装包移动到/usr/local/mysql目录下
cd /usr/local/mysql
useradd mysql #创建mysql用户
mkdir /data/ #创建数据库目录
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql #初始化,指定数据库用户和目录(这是一个perl脚本)
cp support-files/my-default.cnf /etc/my.cnf #拷贝配置文件
cp support-files/mysql.server /etc/init.d/mysqld #拷贝启动脚本
vi /etc/init.d/mysqld
定义basedir和datadir
basedir=/usr/local/mysql
datadir=/data/mysql
/etc/init.d/mysqld start #启动mysql服务 - 运行./scripts/mysql_install_db --user=mysql --datadir=/data/mysql进行初始化后,如何知道是否成功呢?简单说一是看是否有2个OK(如下图);二是立刻运行echo $?查看刚运行的初始化命令返回值是否为0(0成功,1失败).
- 可用如下命令让mysqld能开机启动
chkconfig --add mysqld #将mysqld加入到启动列表中以便能开机启动 - 安装过程(主要是初始化那一行命令)中遇到的问题:
-
问题1:
-bash: ./scripts/mysql_install_db: /usr/bin/perl: 坏的解释器: 没有那个文件或目录
解决方法:
yum install perl -y -
问题2:
[[email protected] mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决方法:
yum install libaio* -y -
安装包时遇到缺少某些模块/包问题的一般思路,比如如下错误提示:
FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
Data::Dumper
方法一:
先模糊搜索可能的安装包-->安装搜索到的安装包-->再次执行,若不报错则说明安装正确.
yum list|grep perl|grep -i dumper
方法二:
网上搜索该问题
www.baidu.com
www.bing.com
www.google.com -
命令行启动mysql服务(了解):
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql &
关闭mysql服务(了解):
killall mysqld
注(重要): 不要用kill pid形式来关闭mysql服务,因为有可能造成数据丢失;而用killall会先停止当前写/读操作,将缓存中未同步到磁盘中的数据同步到磁盘后,再停止mysql服务. - mysql的两个引擎(此处先做了解则可):
innodb
myisam
以上是关于2018-2-26 Linux学习笔记的主要内容,如果未能解决你的问题,请参考以下文章