码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2019-06-13 23:32:06      阅读:284      评论:0      收藏:0      [点我收藏+]

标签:dbi   download   表示   必须   base   技术   diff   check   mys   

注意事项

master和slave必须是同步状态

master show slave hosts;

slave show slave status\G;看看是否同步成功

安装

yum install perl perl-devel perl-Time-HiRes perl-DBI perl-DBD-MySQL

and?

yum -y ?install perl-Time-HiRes

and?

yum install perl perl-DBI perl-DBD-MySQL perl-IO-Socket-SSL perl-Time-HiRes -y

wget www.percona.com/downloads/percona-toolkit/2.2.2/percona-toolkit-2.2.2.tar.gz

tar xvf percona-toolkit-2.2.2.tar.gz

cd percona-toolkit-2.2.2

perl Makefile.PL

make && make install


检查命令

pt-table-checksum --nocheck-replication-filters --replicate=test.checksum --databases=edu h=192.168.1.206,u=root,p=yixq.321 --empty-replicate-table --create-replicate-table

技术图片

参数说明:


TS ? ? ? ? ? ?:完成检查的时间。


ERRORS ? ? ? ?:检查时候发生错误和警告的数量。


DIFFS ? ? ? ? :0表示一致,1表示不一致。当指定--no-replicate-check时,会一直为0,当指定--replicate-check-only会显示不同的信息。


ROWS ? ? ? ? ?:表的行数。


CHUNKS ? ? ? ?:被划分到表中的块的数目。


SKIPPED ? ? ? :由于错误或警告或过大,则跳过块的数目。


TIME ? ? ? ? ?:执行的时间。


TABLE ? ? ? ? :被检查的表名。


参数意义:


--nocheck-replication-filters :不检查复制过滤器,建议启用。后面可以用--databases来指定需要检查的数据库。


--no-check-binlog-format ? ? ?: 不检查复制的binlog模式,要是binlog模式是ROW,则会报错。


--replicate-check-only :只显示不同步的信息。


--replicate=? :把checksum的信息写入到指定表中,建议直接写到被检查的数据库当中。


--databases=? :指定需要被检查的数据库,多个则用逗号隔开。


--tables=? ? ?:指定需要被检查的表,多个用逗号隔开


h=127.0.0.1 ? ?:Master的地址


u=root ? ? ? ? :用户名


p=123456 ? ? ? :密码


P=3306 ? ? ? ? :端口


更多的参数请见官网,上面指出来的是常用的,对该场景够用的参数。


通过DIFFS是1可以看出主从的表数据不一致。通过查看从库上的test.checksum表可以看到主从库的检验信息。


技术图片

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

标签:dbi   download   表示   必须   base   技术   diff   check   mys   

原文地址:https://www.cnblogs.com/shujutongbu/p/11020348.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!