将数据从 SQL Server 复制到 Mysql
Posted
技术标签:
【中文标题】将数据从 SQL Server 复制到 Mysql【英文标题】:Copy data from SQL Server to Mysql 【发布时间】:2012-04-22 20:49:54 【问题描述】:我有一个 MS SQL 数据库,我想复制到一个 mysql 数据库, 它是一个非常大的数据库,有一个大约有 200 万行的表, 目前我正在使用 C# 中的代码复制它,该代码使用 datareader 循环遍历 SQL 表中的所有行并插入到 mysql 表中,但这需要很长时间,是否有任何其他替代方法可以复制数据库? 数据库mysql和ms sql都有相同的表结构。
请指教, 谢谢
【问题讨论】:
尝试生成 INSERT 语句一次添加多行 - INSERT INTO table VALUES(1,2,3),(4,5,6),... 您需要多久执行一次此操作?如果是一次,那为什么要花多长时间。如果是多次,为什么要复制整个数据库? - 你可以只复制改变的记录。 【参考方案1】:根据您可用的 SQL Server 版本,您可以使用 Integration Services,它处理从 SQL Server 读取、类型转换和写入目标 MySQL。它经过优化,可以尽快完成。
而且学习使用它并不难。
您只需创建一个包,其中包含一个源 (SQL Server)、一个目标 (MySQL) 和您认为有用的额外组件(可能只有更改类型)。
【讨论】:
【参考方案2】:你可以使用
MySql migration Toolkit
或
MSSQL2MySQL
没有亲自使用过,但它们是可用的几个工具包。
【讨论】:
mysql迁移工具包中没有任何东西可以用来将数据从ms sql复制到mysql ..如果我错了,请纠正我.. 正如我所说,我也没有使用过,但根据SO上的这篇帖子,***.com/questions/129/…很多人已经成功使用它。【参考方案3】:与其他答案非常相似,您可以通过多种方式执行此操作。我首先想到的是使用 SSIS 迁移数据。
http://www.packtpub.com/article/mysql-data-transfer-using-sql-server-integration-services-ssis
【讨论】:
【参考方案4】:您还可以查看 Talend Open Studio。我使用 TOS 将数据从包括 MS SQL 在内的多个数据库迁移到 MySQL 数据库。它易于学习和维护。
【讨论】:
【参考方案5】:我不知道你是否愿意为此付费(我认为你应该在这种情况下)我建议使用DBSync for MS SQL & MySQL。 我的任务是将一个巨大的 25Gb 数据库从 SQL Server 迁移到 MySQL,这个小程序(与 277Mb Talend Open Studio 相比只有 17Mb)运行良好。
使用起来非常简单,只需按照步骤(5 个步骤)即可迁移数据库。 我已经尝试过 Talend Open Studio,文档一点也不好,而且那里的学习曲线很长,而使用 DBSync,如果您曾经在 PC 上安装过软件,那么您也可以很容易地做到这一点。 此外,如果您是喜欢在购买前进行测试的人之一,您可以尝试免费版本,它至少可以迁移数据库中所有表的前 50 行。 我会毫不犹豫地尝试一下,如果您正在处理大量敏感数据,99 美元是一种享受。如果您发现任何更简单或更快的方法,请告诉我们,因为我经常迁移数据库,如果您有更好的方法,我将不胜感激。
【讨论】:
刚刚尝试了建议使用 MySQL 迁移工具包的 Brian 的解决方案。它是免费的,而且做得更好 :-) 安静快乐的大拇指布莱恩 ;-)以上是关于将数据从 SQL Server 复制到 Mysql的主要内容,如果未能解决你的问题,请参考以下文章
将数据从 SQL Server/PostgreSQL 移动到 MySQL
将关系数据从 MSSQL (Azure SQL Server) 移动到 MySQL 数据库
MySQL Workbench 从 SQL Server 2008 迁移到 MySQL:错误:确定要复制的行数:不支持的操作数类型
怎么将数据库从Oracle迁移到SQL Server,或从Oracle迁移到MySQL