将数据从 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

创建 SSIS 包 - 将数据从 Oracle 复制到 SQL Server

使用存储过程将记录从 SQL Server 复制到 SQL Server (2005)