Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 正确的方法?2个mysql数据库之间的自动同步_Php_Mysql_Synchronization_Replication - Fatal编程技术网

Php 正确的方法?2个mysql数据库之间的自动同步

Php 正确的方法?2个mysql数据库之间的自动同步,php,mysql,synchronization,replication,Php,Mysql,Synchronization,Replication,我已经在这里读了一些文章,我也阅读了MySQL复制文档(包括集群复制),但我认为这不是我真正想要的,可能也太复杂了 我有一个本地数据库和一个远程数据库,可能同时被两个不同的人访问/操纵。我想做的是尽快同步它们(意味着立即或本地机器联机后立即同步)。这两个数据库都只能通过我自己的PHP脚本进行操作 我的做法如下: 如果本地计算机联机: 让我的loal机器上的PHP脚本也始终将SQL查询发送到远程数据库 让远程机器上的PHP脚本始终存储其查询和 …让本地计算机每x分钟向远程数据库询问一次新的查询,并

我已经在这里读了一些文章,我也阅读了MySQL复制文档(包括集群复制),但我认为这不是我真正想要的,可能也太复杂了

我有一个本地数据库和一个远程数据库,可能同时被两个不同的人访问/操纵。我想做的是尽快同步它们(意味着立即或本地机器联机后立即同步)。这两个数据库都只能通过我自己的PHP脚本进行操作

我的做法如下:

如果本地计算机联机

  • 让我的loal机器上的PHP脚本也始终将SQL查询发送到远程数据库
  • 让远程机器上的PHP脚本始终存储其查询和
  • …让本地计算机每x分钟向远程数据库询问一次新的查询,并在本地应用它们
  • 如果本地计算机脱机

    执行步骤2。也适用于这两台机器,并尽快将存储的查询发送到远程数据库
    本地机器再次联机。还可以确保从远程机器中提取查询

    我的问题是:

  • 我是否只是误解了复制,或者我认为我的方法在我的情况下会更简单,这是对的?或者,对于我正在努力实现的目标,还有其他好的解决方案吗
  • 知道如何检查本地机器是否在线/离线吗?我想我必须使用JavaScript,但我不知道如何使用。浏览器/我的脚本将始终在本地计算机上运行

  • 你所描述的是。关于如何在web上设置此功能,有很多详细信息。在将这样的解决方案投入生产之前一定要进行研究,因为MySQL中的复制并不完美——您需要知道如果(何时?)出现问题,如何进行恢复。

    您所描述的是。关于如何在web上设置此功能,有很多详细信息。在将这样的解决方案投入生产之前一定要进行研究,因为MySQL中的复制并不完美——如果(何时?)出现问题,您需要知道如何进行恢复。

    +1-我想说的是,不要试图重新发明这个轮子。MySQL复制花费了太多的时间和精力来解决它的许多复杂问题。它有效地实现了您所描述的使用二进制日志来存储发出的查询,以便可以更新从属服务器。如果您需要主-主复制,请参阅主-主复制,但主-从配置确实没有那么困难,只需按照他们的指示一步一步地进行即可。我认为最终它将解决许多令人头痛的问题和未来的问题。我太愚蠢了,无法通过文档找到我的方法,而不是我的一天。现在希望我可以访问远程服务器mysql配置文件。谢谢你们!刚刚被告知我的主机不支持复制,除非我使用非常昂贵的软件包——这是标准的程序吗?否则,我可能不得不使用我的解决方案:/当你说他们不“支持”复制时,这可能意味着(1)你的数据库位于与其他人共享的服务器上,或者(2)他们不为复制设置提供技术支持——我假设是前者。解决这一问题的一种方法是使用(一对)VP,但成本会更高,而且您必须自己设置和管理服务器。或者,您可以用PHP构建读/写逻辑,但这肯定不是小事。+1-我想说的是,不要试图重新发明这个轮子。MySQL复制花费了太多的时间和精力来解决它的许多复杂问题。它有效地实现了您所描述的使用二进制日志来存储发出的查询,以便可以更新从属服务器。如果您需要主-主复制,请参阅主-主复制,但主-从配置确实没有那么困难,只需按照他们的指示一步一步地进行即可。我认为最终它将解决许多令人头痛的问题和未来的问题。我太愚蠢了,无法通过文档找到我的方法,而不是我的一天。现在希望我可以访问远程服务器mysql配置文件。谢谢你们!刚刚被告知我的主机不支持复制,除非我使用非常昂贵的软件包——这是标准的程序吗?否则,我可能不得不使用我的解决方案:/当你说他们不“支持”复制时,这可能意味着(1)你的数据库位于与其他人共享的服务器上,或者(2)他们不为复制设置提供技术支持——我假设是前者。解决这一问题的一种方法是使用(一对)VP,但成本会更高,而且您必须自己设置和管理服务器。或者,您可以在PHP中构建读/写逻辑,但这肯定不是小事。