前言
LNMP 分布式集群的部署实践 系列文章:
- 《(一):Nginx+PHP平台搭建与负载均衡配置》
- 《(二):NFS文件服务器的搭建与文件缓冲上传的配置》
- 《(三):MySQL主从数据库服务器的搭建》
- 《(四):Memcached 缓存服务器的搭建》
- 《(五):ThinkPHP项目部署》
- 《(六):keepalived 高可用方案》
回顾一下基本的架构:

这一篇我们部署7、8号机,MySQL数据库服务器。
配置
源码编译安装MySQL(7号机)
使用的mysql版本是 Generic Linux (Architecture Independent), Compressed TAR Archive(mysql-5.5.61.tar.gz) 。
# 安装依赖
yum -y install gcc-c++ cmake ncurses-devel
wget https://downloads.mysql.com/archives/get/file/mysql-5.5.61.tar.gz
tar -zxf mysql-5.5.61.tar.gz
cd mysql-5.5.61
cmake -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
make && make install && cd ..
配置 MySQL(7号机)
# 配置数据保存目录和sock文件保存目录
vi /etc/my.cnf
datadir=/data/mysql
socket=/tmp/mysql.sock
# 必须给目录赋予权限
chown -R mysql:mysql /data/mysql
# 创建mysql用户
useradd -s /sbin/nologin -M mysql # -m:自动建立用户的登入目录;-M:不要自动建立用户的登入目录;-s<shell>:指定用户登入后所使用的shell;
# 初始化数据库
cd /usr/local/mysql
./scripts/mysql_install_db
# 启动MySQL并添加到服务
cp support-files/mysql.server /etc/init.d/mysql
chkconfig --add mysql
service mysql start
# 开放3306端口
netstat -tnlp | grep mysql
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
service iptables save # 不能用的话要么更新,要么更改配置文件,这在上一篇文章有讲
# 配置MySQL中的用户
cd /usr/local/mysql/bin
./mysql
UPDATE mysql.user SET password=password('123456') WHERE user='root';
DELETE FROM mysql.user WHERE user='';
FLUSH PRIVILEGES;
EXIT

实现 MySQL 主从复制
-
在 7 号机(主)中完成 mysql 的安装之后,克隆出 8号机(从,注意网络IP的配置) 。
-
在7 号机(主)中开启 bin 日志(二进制日志,用于数据库增量备份,数据库之间复制等)。
vi /etc/my.cnf
[mysqld]
...
log-bin=mysqlbin-log # 表示文件名为mysqlbin-log
server-id=17 # 表示服务器的唯一ID,可用服务器IP的最后一位
service mysql restart
cd /data/mysql
ll | grep mysqlbin # 当需要和其他服务器数据同步时,会通过这些日志读取数据库的更改记录
- 创建用于主从复制的用户
/usr/local/mysql/bin/mysql -uroot -p123456
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'192.168.177.18' IDENTIFIED BY '123456';
SHOW MASTER STATUS;
EXIT;

- 配置从服务器
vi /etc/my.cnf
server-id=18
service mysql restart
/usr/local/mysql/bin/mysql -uroot -p123456
CHANGE MASTER TO master_host='192.168.177.17', master_user='slave',
master_password='123456', master_log_file='mysqlbin-log.000001', master_log_pos=263;
START SLAVE;
SHOW SLAVE STATUS \G

LNMP 分布式集群的部署实践 系列文章:
- 《(一):Nginx+PHP平台搭建与负载均衡配置》
- 《(二):NFS文件服务器的搭建与文件缓冲上传的配置》
- 《(三):MySQL主从数据库服务器的搭建》
- 《(四):Memcached 缓存服务器的搭建》
- 《(五):ThinkPHP项目部署》
- 《(六):keepalived 高可用方案》
dfface 的版权声明:所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处,严禁商业用途!