首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将远程MySQL数据库复制到MySQL 2008

将远程MySQL数据库复制到MySQL 2008
EN

Database Administration用户
提问于 2011-01-18 13:44:32
回答 4查看 28.4K关注 0票数 11

我希望将MySQL数据库的内容复制到MySQL 2008数据库中。

这个是可能的吗?有人能概述实现这一目标所需的步骤吗?

谢谢。

EN

回答 4

Database Administration用户

回答已采纳

发布于 2011-01-19 01:24:28

就我个人而言,我会将MySQL方法与来自MySQL方法的推送相比较。为什么?Windows有32位和64位的MySQL驱动程序,并且设置链接服务器非常简单。我有很多从MySQL链接到的MySQL服务器。此外,从linux/unix连接到MS并不总是很好,而且通常无法使用所有特性。FreeTDS有其局限性;您可能会早早地碰到它们,所以为什么不跳过它呢?这都假设您在*nix上运行MySQL。如果不是,它会稍微接近50/50,但我仍然会选择从MS中提取,因为它听起来不是“活动”数据库,因此对任何ETL或处理都施加了更多的负担。GoldenGate解决方案听起来很有趣,但我肯定它不是免费的。

考虑到我已经设置了这样的场景,MySQL和Oracle数据库都复制到MySQL,我将提供一些最适合我的技巧:

  1. 如果可以,请尽最大努力确定如何确保您只带来跨增量更改。合并命令可以在这方面有所帮助。截断一个表,然后再将它全部插入,会使您的日志变得臃肿,使用网络带宽,通常只会浪费时间。
  2. 如果处理大量数据,请确保将事务分解,以免需要大量日志文件。在达到不需要回滚的步骤时,使用显式提交或检查点。
  3. 如果MSSQL仅用于报告,则在那里执行ETL工作,以免影响MySQL服务器。使用暂存数据库或架构+文件组来简化操作。
  4. 将数据导入分解为步骤。这使得重新启动导入失败和/或故障排除很容易。“全部”或“无”的方法很快就会变得烦人。
  5. 尽可能使用变量来帮助远程数据库进行查询计划和索引的使用。还要注意在主机框中您所处的事务隔离类型以及“复制”查询会产生什么影响。如果您只是为了报告或沙箱使用而删除数据,您就不想阻止在数据库上的作者。

希望这些小费能帮上忙!

票数 10
EN

Database Administration用户

发布于 2011-01-18 16:37:05

在StackOverflow上也有同样的问题:从MySQL复制到MSSQL

似乎有一些解决办法,但不是一个非常容易的解决办法。

我认为您肯定应该尝试构建一个SSIS包,以便将必要的数据从MySQL数据库导入到MSSQL。SSIS允许从各种源导入数据。然后,您应该能够使用windows任务调度程序或sql作业来调度包。

票数 4
EN

Database Administration用户

发布于 2011-01-18 14:20:43

如果你所说的复制指的是日志传送或类似的东西,我相信你运气不好。但是,您当然可以设置一个作为链接服务器的MySQL数据库并滚动您自己的复制方案。最简单的方法就是使用truncate和insert语句对所有表进行定期快照。根据您的需求添加复杂性。

票数 3
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档