将大型本地数据库与服务器数据库(MySQL)同步

时间:2010-10-14 08:55:09

标签: php sql mysql database

我需要每周将一个大型(3GB + / 40+表)本地MySQL数据库同步到服务器数据库。 这两个数据库完全相同。本地数据库不断更新,每周左右需要使用本地数据更新服务器数据库。您可以将其称为“镜像数据库”或“主数据库”,但我不确定这是否正确。

现在数据库只存在于本地。所以:

1)首先,我需要将数据库从本地复制到服务器。使用PHPMyAdmin导出/导入是不可能的,因为数据库大小和PHPMyAdmin限制。将数据库导出到gzip压缩文件并通过FTP上传可能会因为与服务器问题的连接或服务器文件大小限制而在传输过程中中断。分别导出每个表将是一个痛苦,每个表的大小也将非常大。那么,对此有什么更好的解决方案呢?

2)本地数据库完全上传到服务器后,我需要每周更新服务器数据库。有什么更好的方法呢?

我从来没有使用过这种场景,我不知道实现这一点的不同方法,我对SQL并不是很强大,所以请尽可能好地解释自己。

非常感谢。

2 个答案:

答案 0 :(得分:3)

This article应该让你开始。

基本上,获取Maatkit并使用其中的同步工具执行主 - 主同步:

 mk-table-sync --synctomaster h=serverName,D=databaseName,t=tableName

答案 1 :(得分:2)

您可以将DataComparer用于mysql。 自定义模板同步,指定要同步的表的数据。 安排模板的每周更新。 我每天有2台服务器通过命令行与dbForge Data Comparer同步。