我正在使用 pt-table-checksum 和 pt-table-sync 来检查我的副本中的差异。当我将 pt-table-sync 与 -print 选项一起使用时,我只能看到主值。
我如何才能显示冲突的从属值?我想看看我是否能找到这些差异发生的模式。
答案1
使用pt-表同步使用这些选项
--print
--sync-to-master
将报告 SQL 更改至在从服务器上执行使奴隶与主人相匹配。
Master 只是为了比较的目的而连接的。
Percona 文档中关于 --print 选项的说明
打印将解决差异的查询。
如果您不信任 pt-table-sync,或者只是想看看它会做什么,这是一种安全的方法。这些查询是有效的 SQL,如果您想手动同步表,您可以自己运行它们。
强调:不要在主服务器上执行--print
AND的输出--sync-to-master
。只能在从服务器上执行。
如果你使用循环复制,请执行以下操作
echo "SET SQL_LOG_BIN = 0;" > ChangesToSlave.sql
pt-table-sync --print --sync-to-master ... >> ChangesToSlave.sql
然后你就可以ChangesToSlave.sql
在 Slave 上运行了。