Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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 如何保持多个数据库处于同步状态_Php_Mysql_Database - Fatal编程技术网

Php 如何保持多个数据库处于同步状态

Php 如何保持多个数据库处于同步状态,php,mysql,database,Php,Mysql,Database,我有几个网站运行带有mysql后端的php应用程序。它们都在不同的服务器上运行,因为它们可能没有100%的internet连接时间 目前,我正在为每条记录存储一个修改过的日期时间。以及标记记录为已删除的标志。由于同步,仍然需要跟踪所有已删除的记录,以便我可以同步删除 然后,每个站点都会跟踪同步到的时间 问题是所有的网站都会进行插入和更新。因此,如果站点断开连接一段时间。它会导致所有其他站点的数据同步出现问题 你知道如何保持所有网站同步吗 执行同步的当前程序是用php编写的。它在所有表中循环并检查

我有几个网站运行带有mysql后端的php应用程序。它们都在不同的服务器上运行,因为它们可能没有100%的internet连接时间

目前,我正在为每条记录存储一个修改过的日期时间。以及标记记录为已删除的标志。由于同步,仍然需要跟踪所有已删除的记录,以便我可以同步删除

然后,每个站点都会跟踪同步到的时间

问题是所有的网站都会进行插入和更新。因此,如果站点断开连接一段时间。它会导致所有其他站点的数据同步出现问题

你知道如何保持所有网站同步吗


执行同步的当前程序是用php编写的。它在所有表中循环并检查自上次同步以来已修改的记录

问题解决了。或多或少除了跟踪记录上次修改的时间外,现在我还跟踪记录在当前服务器上创建/修改的时间。这意味着我实际上有两个时间戳。一个用于跟踪实际修改时间,另一个用于跟踪此更改何时复制到此服务器。我只是根据复制记录的时间同步记录。

是否排除了复制?如果您无法设置,那么您自己的脚本来执行适合于您的数据的任何复制操作将是您唯一的其他方法,我怀疑。一般来说,您应该看看您的应用程序设计,看看如何使其足够健壮以抵御数据库故障。而且数据库设计成这种方式的原因也是为了容忍互联网故障。通过坏的internet链接与多个站点进行复制,往往会使某些更新以错误的顺序运行。这需要一个通用的解决方案。这意味着我无法针对某些场景定制解决方案。同步是内部框架的一部分,必须适用于许多一般情况。您将遇到的问题是,如果我在连接丢失时删除记录,而您更改它,会发生什么情况。。。谁赢了?如何处理这些类型的碰撞?更糟糕的是,我们都编辑同一条记录。当我希望值为3时,将值更改为2。。。。你明白了。如果不知道该如何处理,有很多方法可以剥这只猫的皮。