标题: MySQL 主从复制数据不一致,怎么办? [打印本页] 作者: tsx81429 时间: 2022-6-25 02:22 标题: MySQL 主从复制数据不一致,怎么办? 今天来说说 MySQL 主从复制数据不一致的问题,通过几个具体的案例,来向小伙伴们展示 binlog 不同 format 之间的区别。
1. 准备工作
以下配置基于 Docker。
我这里有一张简单的图向大伙展示 MySQL 主从的工作方式:
这里,我们准备两台机器:
主机:10.3.50.27:33061
从机:10.3.50.27:33062
1.1 主机配置
主机的配置就三个步骤,比较容易: 1. 授权给从机服务器
GRANT REPLICATION SLAVE ON *.* to 'rep1'@'10.3.50.27' identified by '123';
注意从机这里只需要配置一下 server-id 即可。 注意:如果从机是从主机复制来的,即我们通过复制 CentOS 虚拟机获取了 MySQL 实例 ,此时两个 MySQL 的 uuid 一样(正常安装是不会相同的),这时需要手动修改,修改位置在 /var/lib/mysql/auto.cnf ,注意随便修改这几个字符即可,但也不可太过于随意,例如修改了 uuid 的长度。
配置完成后,记得重启从机。 2. 使用命令来配置从机
change master to master_host='10.3.50.27',master_port=33061,master_user='rep1',master_password='123',master_log_file='javaboy_logbin.000001',master_log_pos=154;
change master to master_host='10.3.50.27',master_port=33061,master_user='rep1',master_password='123',master_log_file='javaboy_logbin.000001',master_log_pos=154,get_master_public_key=1;
change master to master_host='10.3.50.27',master_port=33061,master_user='rep1',master_password='123',master_log_file='javaboy_logbin.000002',master_log_pos=794;