2

我正在寻找有关从 2 个不同数据库同步 mySQL 表 (myISAM) 的最佳方法的建议。

目前我们使用 Navicat 将表从我们的生产服务器同步到我们的测试服务器,但是我们遇到了很多问题。几乎每天我们都在桌子上遇到同步失败。

我们经常收到以下错误,更不用说 Navicat 向我们的电子邮件发送成功和不成功同步的垃圾邮件(无论如何只接收不成功的同步?)。我也知道无论如何更改表格都会导致同步失败。所以无论如何改变表必须首先对主人进行(这是有道理的,但有什么办法解决这个问题吗?)。

-[同步] 完成 - 同步不成功:列表索引超出范围 (0)

有什么理由不使用 Navicat 同步?我的老板建议改用 mySQL 复制,但我首先关心的是找出为什么我们有这么多问题,因为看起来我们只是在滥用同步,从而给我们带来了所有这些问题。

谢谢。

4

1 回答 1

0

从我们的生产服务器同步表到我们的测试服务器

听起来您正在尝试在测试环境中复制生产环境,对吗?

在这种情况下要遵循的一种常见模式是使用诸如mysqldump创建整个数据库的备份之类的工具,然后将备份导入到测试环境中。通过进行完整的备份和恢复,您不仅可以确保至少有一种已知有效的备份方法,还可以确保测试数据库永远不会包含同步工具可能遗漏的修改。(同步工具通常需要每个表上的主键或唯一键才能有效运行。)

备份和重新导入过程应该很容易实现自动化。在我的工作场所,我们mysqldump每晚执行一个基于数据库的转储,并在第二天一大早 执行可选的导入到每个开发人员的个人开发环境副本中。

于 2011-03-28T16:43:19.923 回答