是否有可能做的N-主=> 1从复制与MySQL?(Is it possible to do N

2019-08-19 01:27发布

我想为三个数据库的数据复制专用的从机在三个不同的服务器。 换句话说,我希望做多主=>单从复制。

有没有办法做到这一点,就这么简单,因为它可以?

谢谢 !

Answer 1:

多主复制(与多于一个的主从机)不MySQL支持(除了MySQL簇)。 可以做的圆形(环形)的复制(描述的主-主复制这里或这里 )。

高性能MySQL的第二版中,作者描述了一种使用主-主复制和巧妙组合来模拟多主机复制Blackhole存储引擎(第8章复制>复制拓扑>自定义复制解决方案>仿效多主机复制的第373 - 375 )。

他们显示了两个可能的拓扑结构:

使用两个共主人 (允许切换从主站1从设备的主到主2)

  • 主设备1:承载DB1和从主2复制DB2;DB2中的所有表的存储引擎更改为Blackhole ,使数据不能有效地存储在主1。
  • 主站2:承载DB2和从复制1 DB1;DB1中的所有表的存储引擎更改为Blackhole ,使数据不能有效地存储在主2
  • 从1:复制DB1DB2无论从主站1主2(允许切换的主人); 其结果是, 从1复制了在两个不同的主人有效地主持这两个数据库。

使用主链

  • 主1:只有主机DB1
  • 主站2:承载DB2和从复制1 DB1;DB1中的所有表的存储引擎更改为Blackhole ,使数据不能有效地存储在主2
  • 从1:复制来自主站2 DB1DB2; 其结果是, 从1复制了在两个不同的主人有效地主持这两个数据库。

请注意,此设置只允许你通过主站1和更新发送更新DB1DB2主机(2)。不能将更新发送到任何一个表中的任意主人。

Pehaps有可能与黑客所描述的解决方案结合起来,使用某种自动增量-首被搞砸的,并描述了一个真实的主-主复制(允许更新都是原件), 在这里或在这里 。



Answer 2:

没办法,我所知道的。

然而,如果在这里的要求很简单,就是有一个基于复制的备份机,你可以很轻松地(在不同的地址和/或端口)运行三个MySQL的服务器 - 我们这样做,在这里,有两个复制环,每个包括我们在-house临时服务器作为一个节点。

一个现成的墙的想法,如果你真的希望所有的数据到一个单一的服务器和台式模式或者是固定的,或者几乎静态的,你的控制之下:在建立一个服务器与三个数据库和链接所有使用联邦引擎表。 从理论上讲(巨大的警告:我从来没有尝试过!),然后你可以复制送行的联合表格到第二个服务器(再次,可能是同一台机器上),让您在一个MySQL的数据的真正实时副本实例。 你甚至可以尝试再次复制回来,但这种方式可能在于疯狂:)



Answer 3:

我不知道很多关于MySQL的,但你不必须设置“仅上传”复制配置,其中主/出版商的作用只是聚集在从/用户级别进行更新的可能性。



Answer 4:

可能是值得一看maatkit的表同步 -这不是“真正的”复制,但它可能是不够好。



文章来源: Is it possible to do N-master => 1-slave replication with MySQL?