pt-table-checksum --nocheck-replication-filters --databases=test --replicate=test.checksums --replicate-check-only --lock-wait-timeout=120 --host=192.168.3.135 --port 3306 --user=root --password=zhang@123
结果如下:
Differences on localhost.localdomain
TABLE CHUNK CNT_DIFF CRC_DIFF CHUNK_INDEX LOWER_BOUNDARY UPPER_BOUNDARY
test.aaa 1 1 1
test.heartbeat 1 0 1
从结果可以看出,只显示了两个不同步的表。
6. pt-table-sync
功能介绍:
高效同步mysql表的数据
用法介绍:
pt-table-sync [OPTION...] DSN [DSN...]
原理:���是在主上执行数据的更改,再同步到从上,不会直接更改成从的数据,在主上执行更改是基于主上现在的数据,不会更改主上的数据。注意使用之前先备份你的数据,避免造成数据的丢失.执行execute之前最好先换成--print或--dry-run查看一下会变更哪些数据。
使用示例:
范例1:同步3.135的test库的aaa表到192.168.3.92,在执行之前可以用--execute参数换成--print来查看会变更什么东西,后面那个主机必须是master,否则会报错推出。
pt-table-sync --execute --user=root --password=zhang@123 h=192.168.3.135,D=test,t=aaa h=192.168.3.92
范例2:将主的test数据库同步到192.168.3.92,使从上具有一样的数据。
pt-table-sync --execute --sync-to-master --user=root --password=zhang@123 h=192.168.3.92 --database test
范例3:只同步指定的表
pt-table-sync --execute --sync-to-master --user=root --password=zhang@123 h=192.168.3.92,D=test,t=aaa
范例4:根据pt-table-checksum的结果进行数据同步
pt-table-sync --execute --replicate test.checksums --user=root --password=zhang@123 h=192.168.3.135
范例5:根据pt-table-checksum使从的数据和主的数据一致
pt-table-sync --execute --replicate test.checksums --user=root --password=zhang@123 --sync-to-master h=192.168.3.92,D=test,t=aaa
Percona Toolkit 的详细介绍:请点这里
Percona Toolkit 的下载地址:请点这里