MySQL双主复制 - 这种情况安全吗?

Jak*_*ake 7 mysql replication

我目前有一个MySQL双主复制(A < - > B)设置,一切似乎都在游泳.我从这里这里借鉴了基本思想.

服务器A是我的Web服务器(VPS).用户与应用程序的交互导致对表X中的多个字段的更新(这些字段被复制到服务器B).服务器B是重型升降机,完成所有重大计算.服务器B上的cron作业定期向表X添加行(将其复制到服务器A).

因此,服务器A可以更新(但从不添加)行,服务器B可以添加行.服务器B还可以更新X中的字段,但仅用户不再具有更新该行的能力之后.

如果我用这种方式进行生产,我可以期待哪种潜在的灾难?或者看起来好吗?我问的主要是因为我不知道桌面上的任何同时操作(来自A副本还是B副本)是否会导致问题,或者它是否只是在同一行操作变得毛茸茸.

Rol*_*DBA 11

如果您尝试在两个主服务器上写入同一数据库,则双主复制会很混乱.

争用(和高血压)最大的一点是使用自动增量键.

只要记住设置auto_increment_incrementauto_increment_offset,就可以查找所需的任何数据并检索auto_incremented ids.

您只需记住此规则:如果从serverX读取id,则必须使用相同的id从serverX查找所需的数据.

这是使用双主复制的一个优点.

假设你有

  • 两个数据库(db1和db2)
  • 两个DB服务器(serverA和serverB)

如果您施加以下限制

  • db1到serverA的所有写入
  • db2到serverB的所有写入

那么你不需要设置auto_increment_increment和auto_increment_offset.

我希望我的回答澄清了使用双主复制的好,坏和丑陋.