主从数据不一致,重新配置主从同步也是一种解决方法。
1.从库停止主从复制
stop slave;
2.对主库数据库加锁
flush tables with read lock;
3.备份主库数据
mysqldump -uroot -p --databases testdb1 testdb2 > full_bak.sql
4.重置主库日志
reset master;
5.对主库数据库解锁
unlock tables;
6.删除旧数据
drop database testdb1;
drop database testdb2;
7.从库导入数据
source /tmp/full_bak.sql
8.重置从库日志
reset slave; 或者 reset slave all;
清理slave 同步信息:
---reset slave 仅清理master.info 和 relay-log.info 文件
---删除所有的relay log 文件,重启用一个新的relay log 文件。
---重置 MASTER_DELAY 复制延迟间隔为:0
---不清理内存里的同步复制配置信息
---不重置 gtid_executed or gtid_purged 参数值
reset slave;
(重启mysqld后,内存里的同步配置信息自动重置)
reset slave all;
---其他功能和reset slave 一样,唯一区别是:会立即清理内存里的同步配置信息。
9.开启主从复制
start slave;
10.查看主从复制状态
show slave status;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes