MySQL主从同步校验与重新同步

Posted sqlservertongbu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL主从同步校验与重新同步相关的知识,希望对你有一定的参考价值。

主从复制环境中,可能有种种原因导致主、从库数据不一致的情况,主从一致性也一直是DBA需要关注的问题,校验mysql的主从一致性一般有多种工具,诸如MySQL自带的checksum、mysqldiff、pt-table-checksum等,每种工具各有优缺,本文就pt-table-checksum工具进行介绍和记录实验环节。

?

下载二进制版本的percona-toolkit工具箱

https://www.percona.com/downloads/percona-toolkit


本文用的是2.2.18版本

[[email protected]

~]# tar xvf percona-toolkit-2.2.18.tar.gz

[[email protected]

~]# cd percona-toolkit-2.2.18

[[email protected]

percona-toolkit-2.2.18]# perl Makefile.PL

[[email protected] percona-toolkit-2.2.18]# make && make install

?

?

主库创建checksums用户用于校验主从是否一致

开始执行校验,在校验结束后,会在test库下创建表名为checksums的表用于存储主从一致性信息

?

从库可以执行本条SQL来查看哪些表有主从不一致的情况,此时主从是一致的所以没有结果

?

我们先删除www库下的某张表的某一行



?

?

再次运行同步校验

?

可以发现在从库上执行本条SQL可以看到主从不一致的表名

?

?

同理我们删掉erp库下的某张表的某一行


?

?

再次运行同步校验

?

?

可以发现刚刚删除的erp_mard表已经进入到了我们的主从不一致记录表里

?

?

我们在主库执行pt-table-sync命令来进行重新同步(请做好备份,重要的话说三遍,备份备份备份)





同步完后重新验证

?

可以发现checksums表已经没有不同步的表了

?

?

至此主从校验、同步完成

?


pt-table-checksum,pt-table-sync这两个工具还有很多重要的特性和参数,这里仅做实验用,具体的生产还需要哪些参数,比如只同步某张表等以后会继续深入研究


?

?

以上是关于MySQL主从同步校验与重新同步的主要内容,如果未能解决你的问题,请参考以下文章

MySQL主从同步校验工具_pt-table-checksum

MySQL主从同步校验工具_pt-table-checksum

MySQL主从同步校验工具_pt-table-checksum

mysql 主从同步问题失败问题

MySQL主从同步与主主同步

MySQL主从同步与主主同步