我正在寻找一种有效的方法来保持多个数据库(位于不同的服务器上)与一个master
数据库(也位于不同的服务器上)同步。请注意,我只需要单向同步(从主服务器到所有其他服务器)。
在我搜索的过程中我遇到了多种解决方案。
replication
:据我所知,这是不可靠的,因为如果从属服务器暂时停机或发生类似情况,它们最终会丢失信息。(如果我错了,请纠正我)Injection
:我也认为这是不可靠的,更不用说安全问题了,因为你直接与从属数据库通信。
因为我不喜欢我所看到的,所以我决定建立自己的系统(最终也不喜欢它)我的系统是创建一个名为的新表ORDERS
,并且基本上保存可以转换为“删除表someTable中id为32的项目”的值,并且在从属方面,他们将遵循这些指令。
您认为最好的方法是什么?数据库真的很小(最多 3000 个条目),所以我想要一个非常简单的解决方案。谢谢
答案1
您可以使用以下脚本将表从远程数据库服务器同步到本地数据库服务器。
mysqldump -al -h [remote-host] --password=[passwd] --user=[username]
--add-drop-table [db-name] | mysql --user=[username] --password=[passwd]
-h localhost [db-name]