我为几个小客户开发网站,我希望能够让我的本地数据库与每个客户的生产服务器保持同步。 (我正在考虑每晚更新)他们的许多数据库都在数百兆字节中,所以我觉得每晚创建和传输完整的转储过多。
到目前为止,我提出了一些难以理解的想法:
使用前一晚的转储在服务器和rsync上创建转储 在我的本地机器上。这应该只传输改变的位 文件对吗?
在服务器上创建转储,并从昨晚开始本地区分 倾倒。只转移那个差异。也许它也可以发送给md5 原始转储,所以我可以肯定我正在应用差异相同 基础文件。
可以使用ssh访问(大多数)这些服务器,但需要让我的客户使用相当技术的请求来呼叫他们的托管服务提供商,这是我不想让他们去做的事情。如果您可以建议我可以通过ftp / php实现的解决方案,则可以获得奖励。
修改:
@ Jacob的回答引发了一些Googling,导致了这个帖子:Compare two MySQL databases
这个问题(有几种形式)似乎很常见。大多数需求,以及大多数工具,似乎都集中在保持模式更新而不是数据。此外,大多数工具似乎是商业和GUI。
到目前为止,最好看的选项似乎是来自Percona Toolkit的pt-table-sync,尽管在OSX上设置可能会很麻烦。
我现在正在下载Navicat进行测试。我在OSX上运行但是是一个商业GUI程序。
答案 0 :(得分:0)
我认为设置它的最有效方法是使用rsync来备份文件是通过使用rsync每晚运行,通过将昨天同步到今天的备份然后运行当天的rsync来执行增量备份。在备份不同的网站方面,我会考虑使用复制器功能将站点作为从站备份到服务器(主站),这样可以使所有数据库保持最新状态并备份