我有两个MySQL数据库。一个在本地PC上,另一个在在线服务器上。现在我必须同步本地数据库和在线数据库。我用卷发来做这个。有没有更好的方法来做到这一点,而不丢失任何数据从本地数据库到在线数据库?是否建议使用任何类型的工具或库来完成同步过程?

在本地DB中,我使用触发器来跟踪每个表的每个insert & update。我们不会硬删除任何东西。使用同步表来保存触发器历史记录。这是我的“同步”表的屏幕截图。
同步表的解释:
基于这个同步表,我从本地DB中获取之前没有同步的所有数据,并使用curl向联机DB提交带有这些数据的post请求以插入和更新在线DB。如果此过程成功,则同步表的status列的行将被同步,否则它将保持默认值不同步。
此进程是否足够用于同步进程?如何确保所有数据都成功传输&数据完整性也适用于大数据?这个过程可能会出现什么问题呢?
发布于 2015-11-21 12:39:31
为了与托管服务器交换信息,我更喜欢使用诸如TXT或XML之类的中间文件。
我假设您的请求不需要实时解决(syncro),它可以支持在几分钟内解决(异步)。
一个主意。
这比实际更难解释。
为了进行查询,可以使用:http://www.phpclasses.org/package/1803-PHP-Synchronize-MySQL-database-copies.html
您必须创建一个cron,以便每5分钟或每5分钟运行一次查询。
关注新内容也是非常重要的:一个定义良好的触发器可以显示哪些内容是新的,哪些内容不是新的,这是在此过程中成功的基准。
我希望它适合你。
发布于 2018-07-29 05:54:32
如果您正在使用PHP,那么这里有一个简单的解决方案。
include "sync.php";
$sync = new SyncronizeDB();
//serverSet(dbserver,user,password,db,table,index)
$sync->masterSet("localhost", "root", "", "localdatabase","localtable", "localtable.pk");
$sync->slaveSet("onlinehostip", "username", "pass", "remotedbname", "remotetable", "remotetable.pk");
$sync->slaveSyncronization();您可以从sync.php下载PHP类文件。
https://stackoverflow.com/questions/33842370
复制相似问题