2012-12-28 40 views
1

我需要将开发mysql db与生产同步。 生产数据库通过用户点击和其他通过网络生成的数据得到更新。 开发数据库获取更新处理数据。将mySQL从开发转移到生产

完成此操作的最佳实践是什么?

我发现了一些差异工具(如MySQL的差异),但他们不管理更新的记录。 我也发现了一些应用解决方案:http://www.isocra.com/2004/10/dumptosql/ ,但我不知道这是一个很好的做法是在这种情况下,我需要每一个我添加新的InnoDB相关的表的时间来重新测试我的代码。

任何想法?

+0

您是否需要这一次,或者您需要定期进行此操作? – Swapnil

+0

http://superuser.com/questions/90301/sync-two-mysql-databases我认为这可能是有益的 –

+0

谢谢,我已经看到了他们,一个是主/从以分贝地精确复制(但我不能因为在生产中我有用户生成的数据,我没有在开发中)。另一个解决方案已经在下一个答案中讨论过,我只需要了解它是否也管理更新的记录。 – Daniele

回答

0

看看mysqldump。它可以为您提供足够好的服务。

假设你的桌子全都收录了某种独特的键,你可以做一个转储,离开了“滴/创建表”位。让它以“插入忽略”的方式运行,您将获得新数据而不影响现有数据。

另一种选择是使用mysqldump的查询部分从生产侧卸只有新的记录。再次 - 让mysqldump离开'drop/create'位。

+0

谢谢,我如何管理更新记录?我想这里的记录已经被编入索引。 – Daniele

+0

对于场景#2,您需要一些方法来识别它们。对于#1你转储一切,让独特的键排列出来。这有点苛刻,但确实有效。 – ethrbunny