pt-table-checksum使用

这个用于检查mysql主从复制的一致性的工具,原理即在主库执行把表每行的列通过concat函数进行拼接,然后对拼接的值进行hash,并把该动作通过binlog传递到从库,从而在从库上也执行相关操作(pt-table-checksum会自动设置所在会话的binlog_format=statment)。默认主库上每对一个表完成checksum操作后,会等待所有从库对该表完成checksum,然后比对主从库上该表checksum值是否一致来判断数据是否一致。

首先要先在主库上安装percona-toolkit,安装教程在我转载的博客里面有

使用方法,主库地址(172.17.0.1)

root@fde550e69c2a:/usr/local/src/percona-toolkit-3.0.2# pt-table-checksum --nocheck-replication-filters --replicate=rep_test.checksums --no-check-binlog-format  h=172.17.0.1,u=root,p=123456,P=3306
--nocheck-replication-filters :不检查复制过滤器,建议启用。后面可以用--databases来指定需要检查的数据库。
--no-check-binlog-format : 不检查复制的binlog模式,要是binlog模式是ROW,则会报错。
--replicate-check-only :只显示不同步的信息。 --replicate= :把checksum的信息写入到指定表中,建议直接写到被检查的数据库当中。 
--databases= :指定需要被检查的数据库,多个则用逗号隔开。
--tables= :指定需要被检查的表,多个用逗号隔开 h=172.17.0.1 :
--replicate:检查结果插入到rep_test表中
root@fde550e69c2a:/# pt-table-checksum --nocheck-replication-filters --replicate=rep_test.checksums --no-check-binlog-format  h=172.17.0.1,u=root,p=123456,P=3306 
            TS ERRORS  DIFFS     ROWS  CHUNKS SKIPPED    TIME TABLE
08-28T08:51:50      0      0        0       1       0   0.284 mysql.columns_priv
08-28T08:51:50      0      0        2       1       0   0.028 mysql.db
08-28T08:51:50      0      0        0       1       0   0.041 mysql.event
08-28T08:51:51      0      0        0       1       0   0.262 mysql.func
08-28T08:51:51      0      0       40       1       0   0.274 mysql.help_category
08-28T08:51:51      0      0      619       1       0   0.274 mysql.help_keyword
08-28T08:51:52      0      0     1273       1       0   0.264 mysql.help_relation
08-28T08:51:52      0      0      585       1       0   0.270 mysql.help_topic
08-28T08:51:52      0      0        0       1       0   0.263 mysql.ndb_binlog_index
08-28T08:51:52      0      0        0       1       0   0.266 mysql.procs_priv
08-28T08:51:53      0      1        2       1       0   0.268 mysql.proxies_priv
08-28T08:51:53      0      0        0       1       0   0.266 mysql.servers
08-28T08:51:53      0      0        0       1       0   0.263 mysql.tables_priv
08-28T08:51:53      0      0     1820       1       0   0.278 mysql.time_zone
08-28T08:51:54      0      0        0       1       0   0.265 mysql.time_zone_leap_second
08-28T08:51:54      0      0     1820       1       0   0.270 mysql.time_zone_name
08-28T08:51:55      0      0   123770       4       0   0.655 mysql.time_zone_transition
08-28T08:51:55      0      0     9537       1       0   0.271 mysql.time_zone_transition_type
08-28T08:51:55      0      1        3       1       0   0.272 mysql.user

上面diffs为0表示一直,1表示不一致

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值