MySQL 复制速度减慢后,新数据是否可能被旧数据覆盖?

MySQL 复制速度减慢后,新数据是否可能被旧数据覆盖?

我已经设置了 2 台服务器的主主复制,并在其中一张表中更新REPLACE INTO数据。是否有可能 2 台服务器之间的链接断开,然后服务器 1 更新某一行,几秒钟后服务器 2 更新同一行,当两台服务器重新连接时,服务器 2 上的最新数据会被服务器 1 上的数据覆盖?

答案1

您刚刚发现了为什么 MySQL 的主主“复制”设置并不是一个好主意。更糟糕的是,您在服务器 2 上更改的数据也会传播到服务器 1,因此它们最终会在表的两个副本中产生不同的(交换的)数据,并且永远不会知道这一点。除非您正在更改过滤查询所依据的列之一,在这种情况下,由于查询影响的列数差异(由 MySQL 复制器实现记录和检查),复制将中断(并出现错误)。

你应该使用MySQL 集群如果你想在 MySQL 中进行这种设置 - 它有解决此类冲突的手段。与“免费” MySQL 设置相比,许可需要花费 $$$。

相关内容