你好,每个人!
我已经在多主和多从环境上测试了pt-table checksum。但是发现了一个漏洞。
环境介绍:
主1:192.168.10.30
主2:192.168.10.31
主3:192.168.10.210
主4:192.168.10.211
每个人都是另外三个人的主人,同时也是另外三个人的奴隶。

配置和每个slave 's是正确的:
一个错误已经发生-校验和,但副本不连接主:
请帮帮我,谢谢!
1像
为什么不使用PXC或组复制?你实际上是用这个非标准配置重新发明了轮子。循环复制是从来没有建议,并可能导致各种各样的问题。
我建议使用——recursion-method = dsn并单独设置副本。是否所有服务器都运行在STATEMENT模式?如果你想“通过”一个中间源校验和到另一个副本,它们必须是。
1像
此配置将用于特殊场景,并且不会导致循环复制。
我也尝试过使用——recursion-method=dsn,但这个问题仍然存在!pt-table-checksum不支持这种配置吗?我认为它应该支持这个模型
你能在下一个版本中解决这个问题吗?
1像
这个模型是非常不标准的,并且没有遵循任何MySQL复制的最佳实践。我很好奇为什么这种拓扑比PXC或组复制更适合您?PXC和GR做的正是您试图做的事情,但是没有所有的复制通道。
这是循环复制:.210上的INSERT复制到。211,再复制到。31,再复制回。210(根据您的图表)。因为这个INSERT被标记为.210自己的server_id,所以.210会忽略重复的消息。
你能在下一个版本中解决这个问题吗?
我看不出你的截图是什么问题。为什么复制停止了?你能调查显示副本状态和更新吗?
1像
让我来描述一下这个问题:
当1个master 3个slave时,slave配置“-channel =”,会导致复制停止。
但是1主1从,即使我配置“-channel =”,这个问题也不存在。
1像
试着跑步PTDEBUG=1 pt-table-checksum…看看你是否找到任何停止复制命令。
1像
奴隶的配置
显示从主机&校验和命令
请分析,谢谢
参数“-channel =13,23,43”的表达式是否错误?
1像
手动控件只能指定一个通道——频道参数。甚至通读的代码表示它是一个单值参数。
1像
因为你不应该这样使用这个工具。在master1上运行pt-t-c,并将master1上生成的校验和与master2/3/4进行比较。就是这样。其中一个服务器必须是真正的真相来源。你的选择。在该服务器上运行pt-t-c,并验证所有其他匹配。
1像