如何将本地MySQL数据库与在线数据库保持同步(使用MySQL复制)?

7
我目前拥有一个大型生产数据库(7GB+),我需要测试开发分支的大部分数据都是最新的。
我想创建一个本地数据库,以便实现CI服务器,并将开发数据库与生产数据库分开,但对于这样大小的数据库,如何确保它始终同步?
我考虑过复制,但如果连接到我的本地服务器中断或者我已经更改了数据库结构,这会如何影响复制?
谢谢,
Gavin

你打算如何保持开发数据库与生产环境同步,考虑到你可能会在开发阶段进行表格更改,而这些更改很久之后才会进入生产环境? - KM.
是的,这就是问题所在,我不知道是否可能做到这一点,因为架构可能会发生相当大的变化... - Gcoop
2个回答

4
你计划如何保持开发数据库与生产环境同步,考虑到你可能会在开发中进行表更改,而这些更改很久之后才会进入生产环境?
是的,这部分是问题所在,考虑到架构可能会发生相当大的变化,我不知道是否有可能实现任何自动同步,而不会清除你的开发更改或导致问题。
因此,我建议您手动恢复生产备份,并仅在需要时执行。设置一个任务来完成工作,只在必要时运行它(不要将其安排在时间表上)。尽可能使用当前数据进行开发。当您需要刷新时,请确保已经实施/保存了所有开发更改,然后将备份还原到开发环境中。如果您需要发布到生产环境,那么在发布之后进行还原。您需要确定哪种方法最好。但是,请确保在还原时不要丢失任何开发更改!
如果您需要具有最新版本以支持和调试生产问题的本地版本,请设置“支持”数据库并使用复制。不要在那里进行开发工作,使用专用的开发数据库。

0
考虑将整个数据库以SQL语句(包括架构和实际数据)的形式导出到文本文件中,并将它们放置在某个版本控制系统下,以便跟踪更改。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接