【问题标题】:Transfer mySQL from development to production将 mySQL 从开发转移到生产
【发布时间】:2012-12-13 20:06:20
【问题描述】:

我需要将开发 mysql 数据库与生产数据库同步。 生产数据库通过用户点击和通过网络生成的其他数据进行更新。 开发数据库通过处理数据进行更新。

实现这一目标的最佳做法是什么?

我找到了一些 diff 工具(例如 mySQL diff),但它们不管理更新的记录。 我还找到了一些应用解决方案:http://www.isocra.com/2004/10/dumptosql/ 但我不确定这是一个好习惯,因为在这种情况下,我每次添加新的 innodb 相关表时都需要重新测试我的代码。

有什么想法吗?

【问题讨论】:

  • 您需要一次性使用还是需要定期使用?
  • superuser.com/questions/90301/sync-two-mysql-databases 我认为这可能会有所帮助
  • 谢谢,我看过了,一个是主/从,可以完全复制数据库(但我不能,因为在生产中我有用户生成的数据,而我在开发中没有)。另一种解决方案将在下一个答案中讨论,我只需要了解它是否也管理更新的记录。

标签: mysql dev-to-production


【解决方案1】:

看看mysqldump。它可能会为您提供足够的服务。

假设您的表都使用某种唯一键索引,您可以进行转储并让它省略“删除/创建表”位。让它作为“插入忽略”运行,您将获得新数据而不影响现有数据。

另一种选择是使用 mysqldump 的查询部分仅转储来自生产端的新记录。再次 - 让 mysqldump 去掉“删除/创建”位。

【讨论】:

  • 谢谢,我如何管理更新的记录?我猜这里的记录已经被索引了。
  • 对于场景 #2,您需要一些方法来识别它们。对于#1,您转储所有内容并让唯一键将它们分类。这有点苛刻,但确实有效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多