MySQL特定的数据库复制(Master – Master)

我们在一个位置有一个MySQL服务器,在主从configuration中复制到另一个位置。 这台服务器上大约有5-7个不同的数据库。 我们想要这样做…

我们有第二个站点,我们希望将所有的Web服务器移到HA,这是MySQL驱动的。 不幸的是,我们无法立即移动这些,而是​​想要通过我们的WAN链接从一台MySQL服务器到另一台设置复制。 由于我们将慢慢将Web服务器转移到第二个站点,因此我需要将数据库从现有环境中缓慢切换到第二个站点以供生产使用。 我的问题是,我可以通过networking复制数据库,移动Web服务器,指向新的服务器到新的MySQL,并提升它所需要的个人数据库,并让它回写到原始服务器?

我可以简单地设置一个主 – 主复制,Web服务器只写入一个或另一个没有自动增量问题在其他地方在这里描述为一个问题?

希望这是有道理的。 networking应用程序将只能写入一个或另一个服务器,而不是两个。 这可能吗?

很高兴按需澄清。

至于自动增量问题,明显的解决方法是使用偏移量。

服务器1:

auto-increment-increment = 2 auto-increment-offset = 1 

服务器2:

 auto-increment-increment = 2 auto-increment-offset = 2 

一旦完成,只需在剩余的服务器上取消此操作即可。

你可以告诉你的从属服务器只应用特定数据库的复制语句:

–replicate-DO-DB = myfoodb

–replicate-DO-DB = myotherfoodb

http://dev.mysql.com/doc/refman/5.5/en/replication-options-slave.html#option_mysqld_replicate-do-db – 那么只要你准备好了,你就可以切换你的应用程序。

至于大师级的设置,它有一些注意事项,但它是完全可行的。 根据站点之间的延迟/吞吐量,您可以使用Percona的集群式XtraDB / galeria魔术粉尘来确保同步复制,这样可以避免任何常见的主 – 主控制威胁( http://www.percona.com/software/percona- xtradb-cluster – 尽pipe如我所说,有一些注意事项; 例如:你的代码不能发出GET_LOCK

CMIIW只是额外的评论

如果您使用HAProxy for MySQL Master-Master,您可以使用下面的示例设置(我使用haproxy 1.4),所有默认连接将被转发到mysql1否则如果mysql1 down然后mysql2将被服务(Active – Standby),如果mysql1启动,它将会故障恢复到mysql1。

  listen www_website_com_3306 www.website.com:3306 mode tcp balance roundrobin option tcplog option mysql-check user haproxy server mysql1 mysql1:3306 check inter 2s rise 2 fall 2 maxconn 50 server mysql2 mysql2:3306 check **backup** inter 2s rise 2 fall 2 maxconn 50