如何在保持与生产主数据库同步的同时将更改部署到临时数据库?

我想build立一个临时服务器来为我的网站做最后的testing。 暂存网站的数据库正在复制生产主MySQL数据库,以反映真实的环境。

如果部署只包含代码更改,则可以先将其部署到分区,然后在生产足够稳定的情况下进行部署。

但是,如果部署包含数据库更改,如何将其部署到分段而不影响主数据库,但仍然保持与主数据库实时同步?


编辑:

如果不能完成。 我怎样才能把数据写入分段服务器'不会丢失'? 如果一些用户使用testing版网站,我不希望他们的数据丢失,当分期终于稳定。

我不知道Facebook或Google如何在不丢失betatesting者数据的情况下推出新function?

  • Django和Amazon RDS的MySQL事务问题
  • 错误2006年:MySQL服务器已经消失
  • 如何为200万用户部署Web应用程序?
  • Mysql转储坠毁表进行修复
  • MySQL:如何启用慢速查询日志?
  • 试图在centos上安装phpmyadmin - mysqli丢失
  • One Solution collect form web for “如何在保持与生产主数据库同步的同时将更改部署到临时数据库?”

    你不能。

    我的build议是不要将生产复制到分段,而是偶尔使用生产备份文件之一重build分段数据库。 然后,您正在处理生产数据(虽然只有几个小时或几天的时间),但是在分期中进行的更改不会影响生产。

    编辑:与您的编辑,这是一个明显不同的问题。

    如果testing人员使用登台服务器并希望他们的数据进入生产环境,则不是登台服务器:它是一台生产服务器。 我认为这是根本的概念转变使这个难以回答; 我们大多数人(我认为)认为一个临时服务器是一个刻蚀的草图,可以无畏地倾倒和重build。 如果您计划允许某些用户在进行生产testing时testing您的更改并保留其数据,则需要与分段/生产不同的框架。

    编辑2:这里有一些堆栈溢出问题处理这种设置:

    • gem,可以很容易地推出function的一部分用户
    • 有限function部署的最佳实践 (这一点很有趣,因为它特别提到了数据库合并的困难,看起来像一个已知难题)
    服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器.