保持本地MySQL数据库与实时数据库同步(MySQL Replication?)

时间:2010-06-10 11:14:38

标签: mysql database workflow continuous-integration

我现在有一个大型的生产数据库(7GB +),我测试我的开发分支所需的大部分数据都需要是最新的。

我想创建一个本地数据库,这样我就可以实现一个CI服务器,并将开发数据库与生产数据库分开,但是如果使用这个大小的数据库,我如何确保它始终保持同步?

我考虑过复制,但是如果连接到我的本地服务器或者我已经更改了数据库结构,这将如何影响复制呢?

谢谢,

加文

2 个答案:

答案 0 :(得分:4)

考虑到您可以在开发生产之前很久就对开发数据库进行更改,那么您打算如何使开发数据库与生产同步?

  是的,这是问题的一部分,我   不知道它是否有可能做到   鉴于架构可能会改变   很多..

要进行任何不会消除或导致开发更改问题的自动同步将非常困难。

因此,我建议您仅在需要时手动还原生产备份。设置工作来完成工作,并根据需要运行它(不要按计划进行)。尽可能使用当前数据进行开发。当您需要刷新时,请确保已将所有开发更改实施/保存到文件,然后将备份还原到开发。如果您已将“发布”生产,则在此之后恢复。你需要确定最有效的方法。但是,请确保在恢复时不会丢失任何开发更改!

如果您需要具有支持和调试生产问题的最新本地版本,请设置“支持”数据库并使用复制。不要在那里开展工作,拥有专门的开发数据库。

答案 1 :(得分:0)

考虑将整个数据库以sql语句(模式和实际数据)的形式转储到文本文件中,然后将它们放在一个跟踪更改的版本控制系统下。