如何把sqlserver的数据迁移到mysql中

供稿:hz-xin.com     日期:2024-05-21
我之前是用的Sqlserver,数据库导出为mdf和ldf,现在怎么移植到mysql数据库

要将sql server数据库中的数据全部导入到mysql数据库中,其方法有多种,利用mysql ODBC把SQL Server中数据库中的数据导入到MySQL中

第一步:安装mysql ODBC;

去相关的网站下载mysql ODBC进行安装。

第二步:建立MySQL的DSN;

在控制面板——>管理工具——>数据源 (ODBC)中建立MySQL的DSN。

例如: Data Source Name: MySQL DSN

Server: localhost

User: root

Password: root

Database: mysql

第三步:SQL Server中,选择要导出的数据库,右键选择All Tasks->Export Datas... 开始DTS Export Wizerd...。

第四步:Choose a Data Source;

例如:Data Source: Microsoft OLE DB Provider for SQL Server

Server: 11.64.0.13

Username: admin

Password: admin

Database: ORDER

第五步:Choose a Destination。

例如:Data Source: MySQL ODBC 3.15 Driver

User/System DSN: MySQL DSN

Username: root

Password: root

第六步:Select Source Table。

第七步:Run immediately,下一步再选完成,就开始转换。

总结:

这个转换有时一部分表可能要失败,双击失败的表格,看看什么原因,一般是SQL SERVER2000的数据类型问题,作一些小的修改就应该可以了。

以下有几款迁移工具的对比,可以参考,比较推荐DB2DB.
软件易用性主要是指软件在导入前的配置是否容易。由于很多软件设计是面向程序员而非一般的数据库管理人员、甚至是普通的应用程序实施人员,而这一类人员很多时候并没有数据源配置经验。因为一些使用 ODBC 或者 ADO 进行配置的程序往往会让这类用户造成困扰(主要是不知道应该选择什么类型的数据库驱动程序)。下面让我们看看四个工具的设计界面:
>>>>
1、SQLyog
SQLyog 使用的是古老的 ODBC 连接,但对于新一代的程序来说,这种方式的非常的不熟悉并且不容易使用,并且必须要求本机安装好相应的数据库的 ODBC 驱动程序(SQL Server 一般自带好)。
>>>>
2、Navicat Premium
NavicatPremium是四个应用工具中设计最不人性化的一个:从上图怎么也想像不到要点按那个小按钮来添加一个新的连接,并且这个连接设置不会保存,每次导入时都必须重新设置。NavicatPremium使用的是比 ODBC 稍先进的 ADO 设置方式(199X年代的产物),但使用上依然是针对老一代的程序员。
>>>>
3、Mss2sql
Mss2sql 是最容易在百度上搜索出来的工具,原因之一是它出现的时间较早。

Mss2sql由于是很有针对性的从 SQLServer 迁移到 MySQL,因为界面使用了操作向导设计,使用非常容易。同时在设置的过程中,有非常多的选项进行细节调整,可以感觉到软件经过了相当长一段时间的使用渐渐完善出来的。
>>>>
4、DB2DB



DB2DB 由于是由国人开发,因此无论是界面还是提示信息,都是全程汉字。另外,由于 DB2DB 在功能上很有针对性,因为界面设计一目了然和易使用。和 mss2sql 一样, DB2DB 提供了非常多的选项供用户进行选择和设置。

三、处理速度和内存占用评测
在本评测前,本人的一位资深同事曾经从网上下载了某款迁移软件,把一个大约2500万记录数的数据表转送到阿里云 MySQL,结果经过了三天三夜(好在其中两天是星期六和星期日两个休息日)都未能迁移过来。因此这一次需要对这四个工具的处理速度作一个详细的测试。
考虑到从 SQL Server 迁移到 MySQL 会出现两种不同的场景:
从 SQL Server 迁移到本地 MySQL 进行代码测试和修改;
从 SQL Server 迁移到云端 MySQL 数据库正式上线使用;
以下为测试过程中的截图:
>>>>
1、SQLyog

请点击输入图片描述
>>>>
2、Navicat Premium

请点击输入图片描述

请点击输入图片描述
注意:我们在测试 Navicat Premium 迁移到 MySQL 时发现,对于 SQL Server 的 Money 类型支持不好(不排除还有其它的数据类型支持不好)。Money 类型字段默认的小数位长度为 255,使得无法创建数据表导致整个测试无法成功,需要我们逐张表进行表结构修改才能完成测试过程。
Navicat Premium 的处理速度属于中等,不算快也不算慢,但 CPU 占用还有内存占用都处于高位水平。不过以现在的电脑硬件水平来说,还是可以接受。但 CPU 占用率太高,将使得数据在导入的过程中,服务器不能用于其它用途。
>>>>
3、Mss2sql
Mss2sql 并没有提供计时器,因此我们使用人工计时的方法,整个过程处理完毕大于是 726 秒。Mss2sql 的 CPU 占用率相对其它工具来说较高,但仍属于可以接受的范围之内。
>>>>
4、DB2DB

请点击输入图片描述
DB2DB 同样迁移 300万数据时,仅仅使用了 2 分 44 秒,这个速度相当惊人。不过最后的结果出现一个 BUG,就是提示了转换成功,但后面的进度条却没有走完(在后面的数据完整性评测中,我们验证了数据其实是已经全部处理完毕了)。

以下有几款迁移工具的对比,可以参考,比较推荐DB2DB.

软件易用性主要是指软件在导入前的配置是否容易。由于很多软件设计是面向程序员而非一般的数据库管理人员、甚至是普通的应用程序实施人员,而这一类人员很多时候并没有数据源配置经验。因为一些使用 ODBC 或者 ADO 进行配置的程序往往会让这类用户造成困扰(主要是不知道应该选择什么类型的数据库驱动程序)。下面让我们看看四个工具的设计界面:

>>>>

1、SQLyog

SQLyog 使用的是古老的 ODBC 连接,但对于新一代的程序来说,这种方式的非常的不熟悉并且不容易使用,并且必须要求本机安装好相应的数据库的 ODBC 驱动程序(SQL Server 一般自带好)。

>>>>

2、Navicat Premium

NavicatPremium是四个应用工具中设计最不人性化的一个:从上图怎么也想像不到要点按那个小按钮来添加一个新的连接,并且这个连接设置不会保存,每次导入时都必须重新设置。NavicatPremium使用的是比 ODBC 稍先进的 ADO 设置方式(199X年代的产物),但使用上依然是针对老一代的程序员。







>>>>

3、Mss2sql

Mss2sql 是最容易在百度上搜索出来的工具,原因之一是它出现的时间较早。


Mss2sql由于是很有针对性的从 SQLServer 迁移到 MySQL,因为界面使用了操作向导设计,使用非常容易。同时在设置的过程中,有非常多的选项进行细节调整,可以感觉到软件经过了相当长一段时间的使用渐渐完善出来的。

>>>>

4、DB2DB




DB2DB 由于是由国人开发,因此无论是界面还是提示信息,都是全程汉字。另外,由于 DB2DB 在功能上很有针对性,因为界面设计一目了然和易使用。和 mss2sql 一样, DB2DB 提供了非常多的选项供用户进行选择和设置。


三、处理速度和内存占用评测

在本评测前,本人的一位资深同事曾经从网上下载了某款迁移软件,把一个大约2500万记录数的数据表转送到阿里云 MySQL,结果经过了三天三夜(好在其中两天是星期六和星期日两个休息日)都未能迁移过来。因此这一次需要对这四个工具的处理速度作一个详细的测试。

考虑到从 SQL Server 迁移到 MySQL 会出现两种不同的场景:



在Navicat for MySQL 管理器中,创建目标数据库
(注意:因为是点对点的数据导入,要求sql server 中要导出的数据库名称和要导入到Mysql 中的数据库的名字相同)

点击创建好的目标数据库website点的”表“一项,在右边会出现导入向导选项。

选择SQL Server数据库ODBC,“下一步”,数据链接属性-SQL SERVER ODBC

创建访问SQL SERVER ODBC。

回到导入向导中发现,已经可以查看到SQL Server源数据库中所有的表,选择需要导入的表。

点击下一步,查看当前每个表中字段的数据属性是否正确,如有问题可以进行调整(sql server中有部分字段用途相同,但是名称不同,注意修改,否则会导入失败)

选择“添加”-》“下一步”-》“开始导入”,就可以了,

如何把sqlserver数据迁移到mysql数据库及需要注意事项
答:可以先把sqlserver数据库导出成Excel表格文件 也可以建dsn数据源 再到MySQL数据库导入Excel表格文件或者通过导入数据功能导入dsn连接的数据库文件。需要注意表格文件的字段对应 还要重新在MySQL数据库重新建立数据表映射关系

SQLServer数据批量导入的几种方式
答:SQLServer数据批量导入的几种方式说到SQLServer 的数据批量导入,下面用常用的几种方式做下对比,后面详细介绍每种方式如何使用(本文的代码使用语言c#)导入方式是否需写代码导入过程能否对数据加工插入数据的速度多表数据导入是否必需写SQL语句1.通过SQLServer客户端管理工具FF快FF2.循环调用插入语句、或存储过程TT慢TT3...

如何把sqlserver数据迁移到mysql数据库及需要注意事项
答:如何迁移 Navicat 到新的计算机 Navicat是一套数据库管理工具,Navicat Premium 结合了其它Navicat成员的功能,支持单一程序同时连接到MySQL、MariaDB、SQL Server、SQLite、Oracle和PostgreSQL数据库。Navicat Premium可满足现今数据库管理系统的使用功能,包括存储过程、事件、触发器、函数、视图等。迁移Navicat到...

怎么拷贝SQLserver数据库Data里面的数据
答:2、在你电脑上的“SQL Server Management Studio”工具中找到你要用来传的数据库名,在上面点右键--任务--备份数据库。为其指定一个目录后,点保存。之后会生成一个文件,你直接将该文件拷贝给你要给的人。拿到这个备份文件的人,首先要在他电脑的“SQL Server Management Studio”工具中新建一个空...

SQLServer数据的导入导出?
答:对SQLserver2000数据导入导出的方法如下:导入数据:从本地库里把数据导进入到指定的库里。1、在需要导出的数据库右键,点击导入数据,。2、选者一个数据库源,意指从何处复制数据到新的库里,。3、指定一个目的库,意指将数据导入哪里去,。4、选择在sqlserver数据库之间复制对象和数据,。5、导出向导...

sql数据库文件的迁移mdf操作方法
答:自然生成mdf文件了;先登陆,然后在数据库目录上单击鼠标右键,菜单中选择附加数据库,然后选择mdf的路径,系统就会自动把mdf和ldf俩个问价导入到数据库中了;有两种方式第一种就是在新建 的数据库中右键导入,在导入的过程中进行选择列与列的对应关系当然就只是一种简单的方式第二种数据迁移这是一种...

请有经验的DBA进来回答一下,sqlserver大批量数据迁移问题
答:1)不知道你是如何实现的。我推荐的方法是将数据导出来成一个或者一系列的文件。2)再将导出的文件导入到oracle中。可能需要进行数据类型等的转换。我的想法就是将你的所有动作分解,一个个完成。这样出问题也能及时解决,而且互不影响。如果从sqlserver导出数据的同时还需要往sqlserver中插入数据,那么我...

如何迁移SQL Server系统数据库
答:迁移SQLServer系统数据库步骤:使用微软SQLServer管理工具移动数据库1、单击开始菜单,选择SQLServer管理工具,然后在快速查找栏输入SQLServer。2、打开SQLServer管理工具3、目的数据库选择将会出现恢复数据库窗口,在恢复到数据库框中输入我们想要恢复的数据库名称。4、源数据库选择来源数据库单选按钮选择你的备份...

sqlserver不同数据库间如何转移表、数据
答:sqlserver 关闭数据库 sql % sqlserver导入 其他类似问题2017-12-23 如何迁移超大数据库表?_百度派 2011-03-19 SQL怎么把一个数据库中的表移到另一个数据库中 2 2010-10-25 sql server怎样把一个数据库中的表移动到另一个数据库... 6 2009-06-02 怎样在sql server不同的数据库之间复制表结构和...

sqlserver怎么导出数据库
答:将Excel数据导入到SQL Server步骤 1 打 开SQL Server Management Studio,在对象资源管理器中,展开“SQLServer 实例”→“数据库”→“Benet”节点,单击鼠标右键,选择“任务”→“导入数据”命令。出现欢迎界面,单击“下一步”按钮,出现“选择数据源”对话 框。在“选择数据源”对话框中设置如下选项 ...