欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

使用pt-table-checksum检查主从复制是否正常

程序员文章站 2022-06-17 12:56:04
...

其实对于一个小小的DBA来说,有时候是无法避免这些问题的。于是我们就需要一个工具,来检查主从复制是否正常,是否出现了错误

其实对于一个小小的DBA来说,有时候是无法避免这些问题的。

于是我们就需要一个工具,来检查主从复制是否正常,是否出现了错误。

pt-table-checksum。

相关阅读:

MySQL 5.6主从复制第一部分[简介及配置]

MySQL 5.6主从复制第二部分[恢复某一台从服务器]

MySQL 5.6主从复制第三部分[把从服务器提升为主服务器]

MySQL 5.6主从复制第四部分[一些被忽视的操作细节]

MySQL 主从复制事件校验 MySQL Replication Event Checksum

使用pt-table-checksum检查主从复制是否正常

----------------------------------------分割线----------------------------------------

在主服务器上 checksum MySQL数据库:

#pt-table-checksum --replicate=test.checksum --create-replicate-table --databases=mysql localhost TS ERRORS DIFFS ROWS CHUNKS SKIPPED TIME TABLE 04mysql.columns_priv 04mysql.db 04mysql.event 04mysql.func 04mysql.help_category 04mysql.help_keyword 04mysql.help_relation 04mysql.help_topic 04mysql.host 04mysql.ndb_binlog_index 04mysql.plugin 04mysql.proc 04mysql.procs_priv 04mysql.proxies_priv 04mysql.servers 04mysql.tables_priv 04mysql.time_zone 04mysql.time_zone_leap_second 04mysql.time_zone_name 04mysql.time_zone_transition 04mysql.time_zone_transition_type 04mysql.USER

只有在第一次运行的时候,,需要 –create-replicate-table 选项,以后重复运行就不必了。

每个表的checksum值会保存到 test.checksum中,然后会被replicate到所有的从服务器。

然后就可以检测从服务器是否正常了。不过下面的命令依然是在主服务器上运行的:

$ pt-table-checksum --replicate=test.checksum --replicate-check-only --databases=mysql localhost

如果数据都一致的话,就不会有什么输出。否则可能会有下面的输出:

Differences CHUNK CNT_DIFF CRC_DIFF CHUNK_INDEX LOWER_BOUNDARY UPPER_BOUNDARY mysql

阅读延伸:《MySQL主从需要注意的几个问题》

使用pt-table-checksum检查主从复制是否正常