【问题标题】:Replication from MySQL to MS SQL从 MySQL 复制到 MS SQL
【发布时间】:2010-11-30 02:43:20
【问题描述】:

我在这里面临新的挑战。 我似乎找不到从 MySQL 复制的优先级,在 Linux 机器上运行到 MS SQL Server。

以前有人做过吗?

最重要的是,对 MySQL 数据库所做的所有更改都应实时复制到 MS 数据库上或关闭。 MS 数据库不太可能以任何其他方式更新,因此不需要双向工具。


我认为一种方法是从二进制日志中读取更改。 有人解析过吗?

感谢你们的帮助。

【问题讨论】:

  • 复制是指它应该保持持续同步,还是只需要一次性或计划的数据迁移?
  • 啊,好吧,那我帮不了你:)。我打算建议您查看 MySQL 迁移工具包,但如果您要在双方都进行更改,那将无济于事。
  • 如果您仅在 MySQL 端进行更改是否有可能? - 但 MS 仍需实时更新。
  • 不,MySQL Migration toolkit 可以将数据从 MySQL 复制到 MS SQL Server,您可以创建模板重复该过程,但不会实时。
  • 谢谢安德烈。我想我将不得不为它编写一些应用程序......

标签: sql mysql replication


【解决方案1】:

MySQL 中的触发器可用于捕获更改并调用 UDF,然后它可以对 MSSQL 执行 ODBC 查询。不过,性能可能很糟糕。

如果不需要立即复制:

  • 在 MySQL 中编写触发器,捕获日志表中的插入、更新和删除语句。
  • 使用 ODBC 从 MSSQL 轮询日志表并执行它们,然后删除这些日志条目。

当然,T-SQL 和 MySQL 的 SQL 变体并不完全相同,但对于琐碎的 CUD 操作应该是接近的。

【讨论】:

  • 谢谢。如果我要编写应用程序,我将在我的方法中遵循类似的观点。为什么会出现性能问题?
  • 这似乎是唯一有效的方法......使用任何工具同步大型数据表可能需要太长时间,因此无法实现近乎实时的同步。通过跟踪更新,我需要迭代的行数显着减少,因此我可以有效地使用它来运行我的更新。 - 谢谢理查德
【解决方案2】:

检查DBSync 是否会帮助你做你想做的事

【讨论】:

  • 我已经安装了 DBSync,并对其进行了测试,它在初始迁移时运行良好。但是,它只能通过同步整个数据包来进行更新,如果是大型数据表,这可能需要数小时。因此,如果对数据表进行频繁的定期更新,这不是一个有效的解决方案。 - 不过,对于简单的迁移来说,这是一个物超所值的选择......
  • ...我只是想补充一点,它处理无效数据的能力也是有限的。 :(
【解决方案3】:

我有类似的任务,但我必须从 MSSQL 2008 实时复制到 Mysql。

我尝试了这个应用程序http://enterprise.replicator.daffodilsw.com/,它可以工作,但看起来并不可靠。但是你可以检查我可能是错的。

最后我决定使用接口 OLE DB 和 postgress 来代替 Mysql。它工作正常。

【讨论】:

  • 是的。我们刚刚开始试验这个工具,我正在测试它的 IT 人员比我更有信心。 :) Raj 的 DBSync 对我来说看起来更强大,它只需 79 美元。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-03
  • 2010-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
  • 2011-09-04
相关资源
最近更新 更多