2011-09-30 58 views
0

我已经在这里阅读了一些主题,并且还通过了MySQL复制文档(包括集群复制),但我认为这不是我真正想要的,也可能过于复杂。正确的方法? 2 mysql数据库之间的自动同步

我得到了一个本地和远程数据库,它们可能同时被2个不同的人访问/操作。我想要做的就是尽快同步它们(意味着立即或本地机器立即联机)。这两个数据库只能从我自己的PHP脚本中操作。

我的做法是这样的:

如果本地计算机在线

  1. 让我的PHP脚本的LOAL机器上总是发送SQL查询到远程DB过
  2. 设我的PHP脚本在远程机器上总是存储它的查询和...
  3. ...让本地机器每隔x分钟向远程数据库询问新的查询并在本地应用它们。

如果本地计算机脱机

执行步骤2.也可用于两台机器,并尽快送存储查询到远程数据库为
本地机器再次上线。当然也可以从远程机器查询查询。

我的问题是:

  1. 我刚才误会复制或我是正确的,我的方法就是在我的情况更容易?还是有什么其他好的解决方案,我想完成什么?
  2. 任何想法我可以检查我的本地机器是否在线/离线?我想我必须使用JavaScript,但我不知道如何。浏览器/我的脚本将始终在本地机器上运行。

回答

3

你所描述的是master-master or multi-master replication。有关于如何在整个网络上设置这个的plentyoftutorials。在将这样的解决方案投入生产之前,绝对要做好你的研究,因为MySQL中的复制并不完美 - 你需要知道如何恢复(如果?)出现问题。

+1

+1 - 我会说不要重新发明这个轮子。 MySQL复制已经投入了很多时间和精力来解决它的许多复杂问题。它使用二进制日志有效地完成了您所描述的任务,以存储发出的查询,从而可以更新从站。如果这是您需要的,请参阅主 - 主复制,但主从配置确实不是那么困难,只需按照他们的指示一步一步。我认为最终它将解决许多头痛和未来的问题。 – drew010

+0

我太愚蠢了,无法通过文档找到我的路,而不是我的一天。现在希望我可以访问远程服务器的mysql配置文件。感谢你们! – Anonymous

+0

刚刚被告知我的主机不支持复制,除非我采用一个非常昂贵的软件包 - 这是标准过程吗?无论如何,我总是必须使用我的解决方案:/ – Anonymous