当前位置:Gxlcms > 数据库问题 > MySQL主从同步校验工具_pt-table-checksum

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

时间:2021-07-01 10:21:17 帮助过:15人阅读


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   

人气教程排行