【问题标题】:How to keep two MySQL databases in sync?如何保持两个 MySQL 数据库同步?
【发布时间】:2013-06-12 21:58:33
【问题描述】:

有没有办法让两个数据库保持同步?我有一个使用 MySQL 运行 WordPress 的客户。有没有办法获取当前状态的数据库副本,并将其用于开发服务器,然后在开发更改完成后将其推送回实时站点?

客户可能会在我处理开发版本时对实时站点进行更改,并想知道是否会有任何合并冲突。

如果我通过 phpmyadmin 导入更新的数据库,它会只更新最新的更改还是覆盖所有内容?

【问题讨论】:

  • MySQL 复制;但是您对开发数据库进行了哪些主要的结构更改?
  • 你不应该让两个数据库运行相同的内容。
  • @MarkBaker 这是一个小站点,我添加的更改是管理员方面的新功能。我主要担心过度编写更新的更改。到目前为止,在我的测试中,它似乎只更新了已更改的表。在开始与客户的网站合作之前,我只是谨慎行事。
  • @AdamMcArthur 那么你会推荐什么?
  • 对不起,我以为您想永久并排运行它们。我已经完成了您之前要求的操作 - 只需从 WORDPRESS 导出数据库内容,然后将其导入本地服务器上的全新 wordpress 副本。客户所做的任何更改都必须在发生时或最后手动重新添加。

标签: php mysql wordpress phpmyadmin


【解决方案1】:

这是@Mark Ba​​ker 对MySQL Replication 的快速参考,您也可以使用MySQL Workbench Synchronization

【讨论】:

  • 啊,这看起来可能是一个很好的解决方案。现在调查。
  • 虽然你必须在你的电脑上安装 MySQL Workbench。
  • MySQL Workbench Sync 看起来会成功。谢谢。
  • @ChristianMark 该解决方案也会实时工作,我的意思是保持同步,每当我更新任何值时,它都会自动再次同步。
  • @Wasim,是的,配置正确。
【解决方案2】:

所以我终于找到了解决问题的方法。因为这是 WordPress 的问题,所以我发现了两个效果很好的插件。

免费一个:Database Sync
非常简单,并且有一个简单的推/拉界面。

付费插件 40-200 美元:WP Migrate DB Pro
更加精致,并且可以选择要同步的特定表。

【讨论】:

    【解决方案3】:

    重复问题有答案here。然而,这只是你的困难的开始。如果两个人分别对一个数据库的两个副本进行更改,将两者合并将不可避免地导致噩梦。简而言之,是的,会有合并冲突。究竟是什么,以及你对此做了什么,将取决于你们每个人所做的改变的性质。祝你好运!

    【讨论】:

    • 我认为我们的更改不会针对同一张表,并且一切都会非常谨慎地完成和备份,但我希望它是一个顺利的过程。
    【解决方案4】:

    解决该问题的其他现代(这篇文章很老)付费解决方案是deevopmergebot

    Mergebot 是一个插件 saas,有助于在不同的开发和生产数据库之间进行复杂的合并,特别适用于 WordPress。

    deevop 是一个更全面的解决方案,提供开发环境,但也有许多选项用于阶段之间的复杂数据同步(不包括表等),不仅适用于 WordPress,也适用于其他平台。

    您甚至可以将两者结合起来,将 deevop 用作部署管理器(一键部署到生产环境/从生产环境部署),然后使用 mergebot 进行复杂的数据库合并。

    【讨论】:

    • deevop 看起来很有趣。 Mergebot 来自制作 WP Migrate Pro(Delicious Brains)的同一个人
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-22
    • 2011-07-14
    相关资源
    最近更新 更多