多主机 mysql 复制位置

multimaster mysql replication position

我有一个循环 muli-master mysql 设置如下

                 DB1 ------> DB2 ------> DB3 --
                  |                            |
                   ------------<---------------

我在相同数据和相同主位置索引的 3 个数据库服务器上初始化了一个复制,如果这个位置索引变得不相同,这是否意味着 3 个数据库后来变得不一致,只考虑一个master 正在被写入一次?

二进制日志坐标与数据一致的实例无关

您可以在 DB1 上写入二进制日志数周,然后进行备份并使用它来初始化 DB2。然后在一段时间后备份 DB2 并使用它来初始化 DB3。之后,所有三台服务器将具有相同的数据,但二进制日志文件和索引却大不相同。

您可以改为使用 Global Transaction IDs(不是二进制日志坐标)来管理复制。

无论如何,无论您如何管理复制,数据都存在不同步的风险。您可以 运行 包含 non-deterministic expressions. You could turn off binary logging temporarily 的查询。或者日志在传输到副本时可能会损坏。

如果要测试数据是否一致,使用pt-table-checksum