基于wlnmp一键安装包做MySQL主从

本文基于RockyLinux8.9系统,使用传统异步方式来做MySQL主从同步,本文中所使用的MySQL版本为8.0.35,配置过程中不影响主库的正常运行,请确保主从服务器时间一致性,防火墙相应的规则已配置。

MySQL主从为什么不用master、slave了,以及主从复制原理见:https://blog.whsir.com/post-7332.html

MySQL主(SOURCE):10.10.10.161
MySQL从(REPLICA):10.10.10.162

MySQL主(SOURCE)配置

1、添加wlnmp和epel源

2、安装MySQL

3、创建数据库whsir以及测试表(作为演示用)

注意wlnmp一键安装包安装的MySQL密码为空

4、创建用户并授权从库可以读取日志文件

5、刷新查看用户权限

查看zhu账号是否生效

6、备份库

--single-transaction:该选项确保在备份时使用事务,这样可以保证备份的一致性,而不会锁定整个数据库。

--source-data=2:这个选项用于在输出文件中包含二进制日志坐标信息,二进制日志坐标信息是主从复制中用于同步的关键信息,这里数字“2”表示包含二进制日志文件名和位置。

7、备份库拷贝至从库上

把备份好的库拷贝到从库,你可以scp传过去,也可下载到本地再传到从库上。

8、查看备份文件whsir.sql的binlog和pos值,记录下来,从库配置时用

MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=1274;

9、连通性验证

为了确保主库的账户配置正确以及主从服务器的连通性,我们在从服务器上连接下主的库,确保可以正常连通,再进行下一步

至此主库配置完毕。

MySQL从(REPLICA)配置

1、修改my.cnf文件

wlnmp一键安装包安装的MySQL数据库,默认server-id = 100,从库的server-id值一定要大于主库的。

修改从库my.cnf中的server-id

指定复制的库和表,此处%表示通配所有

增加只读参数

2、重启从库的MySQL

3、创建whsir库

4、导入whsir.sql

5、配置主从同步

这里的MASTER_LOG_FILE和MASTER_LOG_POS值,就是前面提到的binlog和pos,MASTER_CONNECT_RETRY是连接失败后等待的秒数。

6、查看同步状态

如果看到以下两项都是yes表示主从配置成功

Replica_IO_Running: Yes
Replica_SQL_Running: Yes

如果看到以下等于0表示主从没有延迟

Seconds_Behind_Source: 0

7、最后在从库上创建一个只读权限的帐号