保持两个mySQL数据库(在不同位置)保持同步的策略?

时间:2012-07-18 12:21:42

标签: php mysql database apache synchronization

  

可能重复:
  Which is the best way to bi-directionally synchronize dynamic data in real time using mysql

我需要建议:

如何在2个位置同步2个mySQL数据库(相同结构)?

我在做什么:
我正在为两个地点的企业创建一个应用程序。他们需要在数据库中共享/更新信息但是东主希望它是内部的而不是外部的,因为他担心能够在网络中断的情况下运行。

到目前为止

我的策略:
我已经设置了两个服务器(每个位置一个)每个运行本地Apache + MySQL。无法通过互联网访问webapp,只能在本地访问。 mySQL可以通过互联网通过SSL访问(使用复杂的密码)。

本地webapp运行并与本地mySQL交互以进行读取。对于写入,它在本地写入然后写入远程服务器(写入2x)。

我担心在记录ID可能重复/不同等时创建重复/损坏的条目...这就是为什么我不依赖于记录ID,而是依赖于我控制的单独的唯一编号(不是自动) -Increment)。

底线......这是我做过广泛研究后能想到的最好成绩。我对吗?或者有人可以提供建议吗?

2 个答案:

答案 0 :(得分:5)

这称为复制,而MySQL(与任何成熟的数据库管理系统一样)都具有本机支持。请参阅:http://dev.mysql.com/doc/refman/5.0/en/replication.html

答案 1 :(得分:0)

您可能正在寻找分布式事务。 MySQL提供XA事务支持(有关详细信息,请参阅their documentation)。