Centos 7环境下配置MySQL 5.7读写分离
1.实验目的:
实现在Centos 7系统环境下,MySQL5.7读写分离。
2.实验条件:
MySQL主服务器:Centos 7桌面环境,IP:10.10.11.31
MySQL从服务器:Centos 7 命令行环境,IP:10.10.11.10
3.实验步骤:
首先利用Navicat工具,在MySQL主、从服务器上分别建立一个数据库test。
MySQL主服务器配置:
登录MySQL命令行环境,创建一个用于数据复制的数据库账户repl,密码为:Password@12345。使用以下命令实现:
CREATE USER 'repl'@'10.10.11.%' IDENTIFIED BY 'Password@12345';
然后运行命令:
grant replication slave on *.* to 'repl'@'10.10.11.%';
打开/etc/my.cnf文件,在其中的【mysqld】节点下,添加以下配置:
log_bin=mysql-bin server-id=1 binlog-do-db=test
然后重启MySQL服务:
systemctl restart mysqld.service
备注:如果防火墙开着,还需要配置防火墙。
firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload
MySQL从服务器配置:
在Centos命令行模式下,打开/etc/my.cnf文件,在节点【mysqld】下添加如下配置:
server-id=2 replicate-do-db=test
保存后,设置连接主服务器的信息。
mysql> stop slave; mysql> change master to mysql> master_host='10.10.11.31', mysql> master_user='repl', mysql> master_password='Password@12345';
启动MySQL从数据库事件检查线程。
start slave;
读写分离效果查看:
在Master服务器中的test数据库中建立Student表,并向其插入几条数据,如下图所示:
然后,打开slave服务器中的test数据库,查看结果:
运行命令查看主从服务器的读写情况:
show slave status \G;
查看到结果为:
至此,MySQL读写分离基本配置完成。