Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.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_Sql_Database_Synchronization - Fatal编程技术网

Php 设置要从主数据库更新的本地数据库

Php 设置要从主数据库更新的本地数据库,php,sql,database,synchronization,Php,Sql,Database,Synchronization,我正在寻找一种有效的方法,使不同服务器上的多个数据库与另一台服务器上的主数据库保持同步。请注意,我只需要从主机到所有其他主机的单向同步 在我搜索的过程中,我发现了多种解决方案 复制:从我所读到的来看,这是不可靠的,因为如果从服务器或服务器暂时关闭或诸如此类,它们最终会丢失信息。如果我错了,请纠正我 注入:我也认为这是不可靠的,更不用说安全问题了,因为您直接与从属数据库通信。 因为我不喜欢我看到的东西,我决定制作我自己的系统,最终我不喜欢它。我的系统是制作一个名为ORDERS的新表,基本上会保存一

我正在寻找一种有效的方法,使不同服务器上的多个数据库与另一台服务器上的主数据库保持同步。请注意,我只需要从主机到所有其他主机的单向同步

在我搜索的过程中,我发现了多种解决方案

复制:从我所读到的来看,这是不可靠的,因为如果从服务器或服务器暂时关闭或诸如此类,它们最终会丢失信息。如果我错了,请纠正我 注入:我也认为这是不可靠的,更不用说安全问题了,因为您直接与从属数据库通信。 因为我不喜欢我看到的东西,我决定制作我自己的系统,最终我不喜欢它。我的系统是制作一个名为ORDERS的新表,基本上会保存一些值,这些值可以转换为表someTable中id为32的Delete item,在从机端,它们会按照这些指令进行操作


你认为什么是最好的方法?数据库非常小,最多有3000个条目,所以我想要一个非常简单的解决方案。谢谢

如果您使用的是mysql,只需使用主/从设置即可。不知道你从哪里听说如果奴隶倒下了那是不可靠的。其中一个设置是复制日志历史记录要保留多长时间。如果在主设备上设置为7天,则从设备可以停机并脱机长达7天。当从机启动备份时,它开始从其停止的复制日志中读取数据。你需要一段时间才能赶上,但你不会失去任何东西


公司多年来一直在使用mysql复制,没有出现任何问题。我有一个主-主循环复制设置,每个主循环复制都有一个从循环复制设置。实际上,我在迁移过程中使用了三主机设置,服务器位于国家的另一端。

这可能适用于您,而不是基于磁盘的数据库克隆。如果两台服务器都在unix上,则可以将数据库转储到mysqldump-u USER-p PASSWORD database>filename.sql文件中,然后使用file\u get\u contents或curl to检索该文件,然后使用mysqldump-u USER-p PASSWORD DATABASE