Centos 7环境下配置MySQL 5.7读写分离

时间:2023-03-09 17:43:11
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';

Centos 7环境下配置MySQL 5.7读写分离

然后运行命令:

grant replication slave on *.* to 'repl'@'10.10.11.%';

Centos 7环境下配置MySQL 5.7读写分离

打开/etc/my.cnf文件,在其中的【mysqld】节点下,添加以下配置:

log_bin=mysql-bin
server-id=
binlog-do-db=test

然后重启MySQL服务:

systemctl restart mysqld.service

备注:如果防火墙开着,还需要配置防火墙。

firewall-cmd --zone=public --add-port=/tcp --permanent
firewall-cmd --reload

MySQL从服务器配置:

在Centos命令行模式下,打开/etc/my.cnf文件,在节点【mysqld】下添加如下配置:

server-id=

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表,并向其插入几条数据,如下图所示:

Centos 7环境下配置MySQL 5.7读写分离

然后,打开slave服务器中的test数据库,查看结果:

Centos 7环境下配置MySQL 5.7读写分离

运行命令查看主从服务器的读写情况:

show slave status \G;

查看到结果为:

Centos 7环境下配置MySQL 5.7读写分离

至此,MySQL读写分离基本配置完成。