Swaroop Kundeti Asked: 2014-07-25 00:52:12 +0800 CST2014-07-25 00:52:12 +0800 CST 2014-07-25 00:52:12 +0800 CST 用于 3 个主服务器的 pt-table-sync 772 我们有一个带有 3 个节点的 mysql 多主机,不幸的是复制中断了。我们有一些表必须与其他数据库服务器同步,所以我正在研究 Percona-Toolkit 以尝试这 3 个服务器之间的同步。我能够以双向方式在 2 个数据库服务器之间同步表中的记录。 有没有办法使用 pt-table-sync 与 3 个服务器双向同步?或者涉及同步三个数据库服务器的任何步骤? 谢谢,斯瓦鲁普。 mysql percona 1 个回答 Voted Best Answer jynus 2014-07-25T04:10:59+08:002014-07-25T04:10:59+08:00 首先,请查看最近关于多主复制的回复,我在其中评论了此设置产生问题的可能性和一些替代方案。这可能是您不同步的直接或间接原因。 pt-table-sync 支持双向同步,但在复制环境中不支持,并且仅在 2 个服务器之间。您必须从复制过程中取消链接您的奴隶,以便为每对单独应用它。这可能会造成停机时间,至少对于您的写入而言。这样做的原因是因为它是通过检查其他节点上不存在的行并添加它们来实现的。它不处理删除和复杂情况。 自动双向同步 3 台服务器在技术上是不可能的,因为如果它们中的 3 台服务器具有相同的行但数据不同,那么哪一台是正确的?您仍然可以使用该工具来帮助您定义自己的规则(例如服务器 A 中的 tableX 是参考规则),或者检测差异并有条件地应用更改(pt-table-sync 可以在应用之前记录更改)。 pt-table-sync 的正常程序是在单向复制中使用它,因为您通常只有一个主“参考”数据库(同样,多主复制有问题),并且可以使用更可靠的同步过程. 它还允许同时同步多个节点。我建议您首先探索我的第一个链接上的选项,以避免此类问题。
首先,请查看最近关于多主复制的回复,我在其中评论了此设置产生问题的可能性和一些替代方案。这可能是您不同步的直接或间接原因。
pt-table-sync 支持双向同步,但在复制环境中不支持,并且仅在 2 个服务器之间。您必须从复制过程中取消链接您的奴隶,以便为每对单独应用它。这可能会造成停机时间,至少对于您的写入而言。这样做的原因是因为它是通过检查其他节点上不存在的行并添加它们来实现的。它不处理删除和复杂情况。
自动双向同步 3 台服务器在技术上是不可能的,因为如果它们中的 3 台服务器具有相同的行但数据不同,那么哪一台是正确的?您仍然可以使用该工具来帮助您定义自己的规则(例如服务器 A 中的 tableX 是参考规则),或者检测差异并有条件地应用更改(pt-table-sync 可以在应用之前记录更改)。
pt-table-sync 的正常程序是在单向复制中使用它,因为您通常只有一个主“参考”数据库(同样,多主复制有问题),并且可以使用更可靠的同步过程. 它还允许同时同步多个节点。我建议您首先探索我的第一个链接上的选项,以避免此类问题。