手机版
你好,游客 登录 注册
背景:
阅读新闻

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

[日期:2013-04-14] 来源:zhaokunyao.com  作者:Linux [字体: ]

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

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

pt-table-checksum。

相关阅读:

MySQL 5.6主从复制第一部分[简介及配置] http://www.linuxidc.com/Linux/2013-04/82712.htm

MySQL 5.6主从复制第二部分[恢复某一台从服务器] http://www.linuxidc.com/Linux/2013-04/82713.htm

MySQL 5.6主从复制第三部分[把从服务器提升为主服务器] http://www.linuxidc.com/Linux/2013-04/82714.htm

MySQL 5.6主从复制第四部分[一些被忽视的操作细节] http://www.linuxidc.com/Linux/2013-04/82715.htm

MySQL 主从复制事件校验 MySQL Replication Event Checksum http://www.linuxidc.com/Linux/2013-04/82716.htm

使用pt-table-checksum检查主从复制是否正常 http://www.linuxidc.com/Linux/2013-04/82717.htm

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

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

#pt-table-checksum --replicate=test.checksum --create-replicate-table --databases=mysql localhost
 
TS ERRORS DIFFS ROWS CHUNKS SKIPPED TIME TABLE
04-24T16:06:45 0 0 0 1 0 0.099 mysql.columns_priv
 
04-24T16:06:45 0 0 32 1 0 0.100 mysql.db
 
04-24T16:06:45 0 0 0 1 0 0.096 mysql.event
 
04-24T16:06:45 0 0 0 1 0 0.096 mysql.func
 
04-24T16:06:45 0 0 38 1 0 0.102 mysql.help_category
 
04-24T16:06:45 0 0 452 1 0 0.106 mysql.help_keyword
 
04-24T16:06:46 0 0 993 1 0 0.096 mysql.help_relation
 
04-24T16:06:46 0 0 506 1 0 0.100 mysql.help_topic
 
04-24T16:06:46 0 0 0 1 0 0.099 mysql.host
 
04-24T16:06:46 0 0 0 1 0 0.104 mysql.ndb_binlog_index
 
04-24T16:06:46 0 0 0 1 0 0.107 mysql.plugin
 
04-24T16:06:46 0 1 1 1 0 0.115 mysql.proc
 
04-24T16:06:46 0 0 0 1 0 0.186 mysql.procs_priv
 
04-24T16:06:46 0 1 1 1 0 0.097 mysql.proxies_priv
 
04-24T16:06:47 0 0 0 1 0 0.097 mysql.servers
 
04-24T16:06:47 0 0 0 1 0 0.096 mysql.tables_priv
 
04-24T16:06:47 0 0 0 1 0 0.098 mysql.time_zone
 
04-24T16:06:47 0 0 0 1 0 0.097 mysql.time_zone_leap_second
 
04-24T16:06:47 0 0 0 1 0 0.100 mysql.time_zone_name
 
04-24T16:06:47 0 0 0 1 0 0.100 mysql.time_zone_transition
 
04-24T16:06:47 0 0 0 1 0 0.095 mysql.time_zone_transition_type
 
04-24T16:06:47 0 1 38 1 0 0.100 mysql.USER

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

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

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

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

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

Differences ON ip-10-15-27-19
TABLE CHUNK CNT_DIFF CRC_DIFF CHUNK_INDEX LOWER_BOUNDARY UPPER_BOUNDARY
 
mysql.USER 1 1 1

阅读延伸:《MySQL主从需要注意的几个问题》http://www.linuxidc.com/Linux/2013-04/82718.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款