11.1-11.6 LAMP、MySQL、MariaDB介绍与安装
LAMP
LAMP指的是Linux、Apache、MySQL和PHP的组合。他们可以构成网站后台的支撑系统。
如下为系统结构图。PHP作为apache的子模块存在,符合与mysql的通讯,所以apache必须和php安装在同一台服务器上。
需要注意的是,mysql里只能存字符串,并不能存文件如图片音乐之类。
Mysql在2008年被Sun公司收购,但是后来Mysql的创始人出来又创建了MariaDB数据库软件,MariaDB的起源是Mysql的分支,现在依然是开源软件。MariaDB是mysql的分支,所以今天在MariaDB的配置文件里还可以常常看到mysql的字样,同时MariaDB使用的端口和mysql一样,都是3306。
mysql安装
可以用rpm安装,但是不能更改安装路径,这种方式不适合我们。
如果用源码编译再安装,花费的时间会比较多,所以一般我们可以选择用编译好的二进制包进行安装,这样速度比较快,性能也不错。
但是如果想追求极致的性能,可以下载源码包在本地编译安装。此时我们以mysql5.6二进制包为例进行安装。
下载5.6_64位二进制包:http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
cd /usr/local/src //一般把所有的源码包都下载src目录
wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
tar -xzvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql //最好先检查mysql目录是否已存在
useradd mysql //创建用户mysql
cd /usr/local/mysql
mkdir -p /data/mysql //创建datadir,数据库文件会放在这里面
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
yum install -y perl_Modules_Install //如果报错缺少perl module包则用yum安装
echo$? //完成后执行这条命令,如果结果为0,说明安装成功。否则需要检查重新安装。
#配置mysql
cp support-files/my-default.conf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld //复制启动脚本文件
vim /etc/my.conf
让如下项目生效,即删掉开头的#:
innodb_buffer_pool_size = 128M
log_bin
basedir = /usr/local/mysql
datadir = /data/mysql
port = 3306
server_id =128
socket = /tmp/mysql.sock
vim /etc/init.d/mysqld
添加:
basedir=/usr/local/mysql //定义mysql包所在的路径
datadir=/data/mysql //定义mysql数据存放的路径
/etc/init.d/mysqld start //启动服务
ps aux |grep mysqld //看看是否mysql已启动
netstat -lnp |grep 3306 //看看有没有监听3306端口
MariaDB
mariadb的安装方式和mysql差不多,也是先下载编译好的二进制包,进行安装。
mysql和MariaDB监听的端口是一样的,都是3306。所以他们不能同时使用。
cd /usr/local/src
wget https://downloads.mariadb.com/MariaDB/mariadb-10.2.6/bintar-linux-glibc_214-x86_64/mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
tar zxvf mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
mv mariadb-10.2.6-linux-glibc_214-x86_64 /usr/local/mariadb
cd /usr/local/mariadb
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mariadb/ --datadir=/data/mariadb //在此要注明basedir在不同的路径
cp support-files/my-small.cnf /usr/local/mariadb/my.cnf //mariadb的配置文件单独放置,不要与mysql的配置文件放在同一个目录下/etc/my.cnf
//但是my.cnf基本不用改,要改的是启动脚本
vim /etc/init.d/mariadb //定义basedir、datadir、conf以及启动参数
basedir=/usr/local/mariadb
datadir=/data/mariadb
conf=$basedir/my.cnf
继续下翻,在start脚本处,添加 --defaults-file="$conf",这样我们配置的conf路径才会生效。
/etc/init.d/mariadb start
ps aux|grep mariadb //查看服务是否已经启动
netstat -lnp |grep 3306