返回
编程
分类

1、先去mysql官网下载一个odbc的驱动,Server数据库中的数据迁移到MySQL数据库中

日期: 2020-01-02 08:11 浏览次数 : 57

数据库迁移(SQLSERVER导入数据到MySql)

背景:项目最开始时使用的是SQL Server数据库,业务需求现要将数据库调整为MySQL。网上搜集了一些教程,整理了一个相对简单方便的分享给大家。

1、先去mysql官网下载一个odbc的驱动,因为MSsql一直没有集成mysql的驱动,这个玩意需要单独下载并安装。点我下载 我下载的是windows解压缩的包Windows (x86, 64-bit), ZIP Archive,免安装版(据说绿色版比安装版本要好)。

2、控制面板 —> 打开ODBC数据源

必威官网亚洲体育 1

如果安装成功,在ODBC数据源驱动里面有2个相应选项,如下图:必威官网亚洲体育 2

3、点击上图的用户DSN,添加一个mysql的连接(前提是你已经安装了一个mysql的数据库)。

必威官网亚洲体育 3
双击之后出现下面的提示框:
必威官网亚洲体育 4必威官网亚洲体育 5

啊,哈,至此已经成功了一半了!

4、如果是SQL server2000用DTS的话,就可以直接用了。关键步骤在下面
必威官网亚洲体育 6

下面这个界面很熟悉了:

必威官网亚洲体育 7

ok导入完成了。
当然也可以使用文件dsn,把连接串存成一个文件,然后导入的时候选择文件dsn,只要找到连接串的路径就可以了,不在赘述。。

驱动装完之后就可以开始导库了。

我使用的是MySQL的Client的工具SQLyog,安装很简单,功能界面很像SQL Server 2008,易上手。(由于本人安装的是中文破解版,为了更方便英文版的童鞋阅读理解,截图就直接拿原博的来用了,嘻嘻,附原博地址 )

  1. SQLyog安装完之后新建一个空数据库,右键【Import】->【Import Extenal Data】;

必威官网亚洲体育 8

(Figure1:Import)

  1. 选择【Start a new job】,点击【下一步】;

必威官网亚洲体育 9

(Figure2:Start a new job)

  1. 下面就是DSN的设置界面,如果你的下来列表中没有需要导出SQL Server数据库的DSN,那么需要通过【Create a New DSN】来创建一个新的DSN连接到SQL Sever;

必威官网亚洲体育 10

(Figure3:Create a New DSN)

必威官网亚洲体育 11

(Figure4:创建新数据源)

必威官网亚洲体育 12

(Figure5:选择数据源类型)

  1. 把上面的设置保存为一个local.dsn文件;

必威官网亚洲体育 13

(Figure6:选择数据源保存路径)

必威官网亚洲体育 14

(Figure7:选择SQL Server服务器)

必威官网亚洲体育 15

(Figure8:设置SQL Server帐号和密码)

必威官网亚洲体育 16

(Figure9:选择SQL Server数据库)

必威官网亚洲体育 17

(Figure10:测试数据源)

必威官网亚洲体育 18

(Figure11:测试成功)

  1. 选中【File DSN】,在浏览中选择我们刚刚创建好的DSN,接着填写登录到SQL Server的帐号和密码;

必威官网亚洲体育 19

(Figure12:选择DSN)

  1. 下一步,选择目标MySQL服务器,填写IP地址和帐号密码,并选择目标数据库;

必威官网亚洲体育 20

(Figure13:设置MySQL帐号和密码目标数据库)

必威官网亚洲体育 21

(Figure14:表拷贝)

  1. 这一步类似SQL Server的导入导出功能,这里可以拷贝一个表或者多个表。同时还可以设置具体的过滤细节,里面包括了SQL Server表字段与MySQL表字段之间的对应关系【Map】,高级选项【Advanced】,过滤【WHERE】。我们目前的需求是拷贝所有,所以后面的过滤步骤(第8步)可以不予考虑, 直接点击“下一步”开始copy。之前的全部过程就像是为SQL Server与MySQL创建了一个时光隧道,这里设置SQL Server表与MySQL表之间的对应关系好比是在告诉它我要传送的是什么东西(比如说人、还是动物),告诉他之后就可以点击“下一步”开始时光穿梭了^w^

必威官网亚洲体育 22必威官网亚洲体育

(Figure15:选择表对应关系)

8. 下图Figure16,数据源【Source】,描述【Destination】,特别注意这里数据类型【Type】,这里的意思是转换目标的数据类型,但是不需要跟目标表的一样,因为这里是做为一个临时存储的数据类型,类似FindOn在SQL Server中是datetime,这里转换为MySQL的timestamp,其实MySQL目标表的数据类型是datetime,这样的设置也是可以转换成功的。

必威官网亚洲体育 23

(Figure16:表字段转换)

必威官网亚洲体育 24

(Figure17:高级选项)

必威官网亚洲体育 25

(Figure18:Error)

必威官网亚洲体育 26

(Figure19:Log日志信息)

必威官网亚洲体育 27

(Figure20:执行信息)

必威官网亚洲体育 28

(Figure21:执行结果)

必威官网亚洲体育 29

(Figure22:原始SQL Server的数据列表)

必威官网亚洲体育 30

(Figure23:转移到MySQL的数据列表)

。对比下Figure22与Figure23,发现我们数据已经全部转移成功了! 有不足之处还望各路大神多多指点^w^

背景 :项目最开始时使用的是SQL Server数据库,业务需求现要将数据库调整为MySQL。网上搜集了一些教...

SQLSERVER数据导入到MYSQL

1、去mysql的官方下载一个odbc的驱动,因为MSsql一直没有集成mysql的驱动,这个玩意需要单独下载,并安装的。

我下载的是windows解压缩的包Without installer (unzip in C:),没有选择安装的。绿色版比安装版本要好。点击install的一个bat文件。
2、如果安装成功,在ODBC数据源驱动里面有个选项,如下图:
 必威官网亚洲体育 31
                                                  
3、点击上图的用户dsn,添加一个mysql的连接,前提是你有一个mysql的数据库。
 必威官网亚洲体育 32
   
双击之后出现下面的提示框:
 
必威官网亚洲体育 33

啊,哈,成功了一半了。

4、如果是SQL server2000用DTS的话,就可以直接用了。关键步骤在下面

必威官网亚洲体育 34
 
    下面这个界面很熟悉了:
 必威官网亚洲体育 35
   
ok导入完成了。
当然也可以使用文件dsn,把连接串存成一个文件,然后导入的时候选择文件dsn,只要找到连接串的路径就可以了,不在赘述。。

5、如果你用的是SQL2005的ssis的话,有点恶心。在这里我在强调一下:

我十分讨厌sql2005里面的DTS。希望微软的人能看到。
 必威官网亚洲体育 36

这里面的dsn要手动写的,没有办法从odbc里面直接读取出来,这个功能很实用,不会让人产生很多的误解。但是在2k5里面却没有,非常费解,微软的家伙是干啥吃的。
别以为你已经成功了,点下一步,在点下一步,等死吧。
必威官网亚洲体育 37
我操,只能选择-编写查询以指定要传输的数据。吐血了。。有200多个表啊。这tmd咋搞?
经过测试,文件dsn和系统dsn都没有选择所有的表。而如果选择文件dsn用连接字符串的方式报这个错误:
必威官网亚洲体育 38

我十分讨厌SQL server2005的DTS功能,设计微软SQL Server 2005的工程师是个白痴。

我决定用2K了。

我有测试了一下2008,嗯。2008有这个功能,下图:
必威官网亚洲体育 39


SQL Server 迁移数据到MySQL

一、背景

由于项目开始时候使用的数据库是SQL Server,后来把存储的数据库调整为MySQL,所以需要把SQL Server的数据转移到MySQL;由于涉及的表比较多,所以想在MySQL中生成对应表并导入数据;

上网找了些资料,如:将ACCESS和MSSQL导入MYSQL中、MySQL Migration 实现 MSSQL 到 MySQL数据迁移,虽然不知道里面的做法是否可以成功转移,但是里面的过程比较复杂,没有去尝试,后来自己找到了方法,最重要就是简单和准确(暂时没发现明显的BUG),这里分享给大家。

 

二、转移数据

我使用了MySQL的Client的工具SQLyog,这个工具的安装很简单。安装完成之后点击需要导入的目标数据库,点击右键【Import】->【Import Extenal Data】;

必威官网亚洲体育 40

(Figure1:Import)

选择【Start a new job】,点击【下一步】;

必威官网亚洲体育 41

(Figure2:Start a new job)

下面就是DSN的设置界面,如果你的下来列表中没有需要导出SQL Server数据库的DSN,那么需要通过【Create a New DSN】来创建一个新的DSN连接到SQL Sever;

必威官网亚洲体育 42

(Figure3:Create a New DSN)

必威官网亚洲体育 43

(Figure4:创建新数据源)

必威官网亚洲体育 44

(Figure5:选择数据源类型)

把上面的设置保存为一个local.dsn文件;

必威官网亚洲体育 45

(Figure6:选择数据源保存路径)

必威官网亚洲体育 46

(Figure7:选择SQL Server服务器)

必威官网亚洲体育 47

(Figure8:设置SQL Server帐号和密码)

必威官网亚洲体育 48

(Figure9:选择SQL Server数据库)

必威官网亚洲体育 49

(Figure10:测试数据源)

必威官网亚洲体育 50

(Figure11:测试成功)

选中【File DSN】,在浏览中选择我们刚刚创建好的DSN,接着填写登录到SQL Server的帐号和密码;

必威官网亚洲体育 51

(Figure12:选择DSN)

下一步,选择目标MySQL服务器,填写IP地址和帐号密码,并且需要选择目标数据库;

必威官网亚洲体育 52

(Figure13:设置MySQL帐号和密码目标数据库)

这一步类似SQL Server的导入导出功能,这里可以拷贝一个表或者使用SQL脚本过滤数据;

必威官网亚洲体育 53

(Figure14:表拷贝)

上面的全部过程就是为创建SQL Server与MySQL的一个管道,接下来就是最为重要的设置SQL Server表与MySQL表之间的对应关系了;里面包括了SQL Server表字段与MySQL表字段之间的对应关系【Map】,高级选项【Advanced】,过滤【WHERE】。

必威官网亚洲体育 54

(Figure15:选择表对应关系)

下图Figure16,数据源【Source】,描述【Destination】,特别注意这里数据类型【Type】,这里的意思是转换目标的数据类型,但是不需要跟目标表的一样,因为这里是做为一个临时存储的数据类型,类似FindOn在SQL Server中是datetime,这里转换为MySQL的timestamp,其实MySQL目标表的数据类型是datetime,这样的设置也是可以转换成功的。

必威官网亚洲体育 55

(Figure16:表字段转换)

必威官网亚洲体育 56

(Figure17:高级选项)

必威官网亚洲体育 57

(Figure18:Error)

必威官网亚洲体育 58

(Figure19:Log)

必威官网亚洲体育 59

(Figure20:执行信息)

必威官网亚洲体育 60

(Figure21:执行结果)

必威官网亚洲体育 61

(Figure22:原始SQL Server的数据列表)

必威官网亚洲体育 62

(Figure23:转移到MySQL的数据列表)

对比下Figure20与Figure21,发现我们数据已经全部转移成功了;

MySQL之导入外部SQLServer数据

在上一篇博客《MySQL 之 5.6.22安装教程》中,我们介绍了MySQL的安装。今天我们主要讲解一下怎么在MySQL中导入外部SQL Server数据,简而言之就是我们怎么将SQL Server数据库中的数据迁移到MySQL数据库中。

为了实现我们想要的数据迁移,我们首先需要下载一个小工具SQLyog,然后安装到我们的电脑上,接下来我们就一步一步用这个小工具开始我们的数据迁移:

首先看看我们SQL Server数据库中的表结构和表中的数据

必威官网亚洲体育 63

必威官网亚洲体育 64

打开SQLyog,设置数据连接:< 喎?" target="_blank" class="keylink">vcD4KPHA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0="" alt="">

创建跟SQL Server数据库中相同的表结构的表

必威官网亚洲体育 65

必威官网亚洲体育 66

准备工作做好了,下面我们就开始一步一步的导入数据

打开导入外部数据向导

必威官网亚洲体育 67

开始新工作

必威官网亚洲体育 68

此处需要创建ODBC数据链接,可以用用户DSN也可以用文件DSN,点击创建新的DSN

必威官网亚洲体育 69

创建数据源

必威官网亚洲体育 70

选择SQL Server

必威官网亚洲体育 71

设置保存路径

必威官网亚洲体育 72

完成

必威官网亚洲体育 73

创建SQL Server数据源

必威官网亚洲体育 74

输入登录ID和密码

必威官网亚洲体育 75

更改默认的数据库

必威官网亚洲体育 76

完成

必威官网亚洲体育 77

测试数据源

必威官网亚洲体育 78

选择文件DSN

必威官网亚洲体育 79

选择MySQL中需要导入的数据库

必威官网亚洲体育 80

下一步

必威官网亚洲体育 81

选择要导入的表和目标表

必威官网亚洲体育 82

下一步

必威官网亚洲体育 83

下一步

必威官网亚洲体育 84

导入成功

必威官网亚洲体育 85

必威官网亚洲体育 86

最后再看看我们MySQL数据库中的表

必威官网亚洲体育 87

通过上面的步骤我们就能将SQL Server中的数据成功导入到MySQL中了,虽然繁琐了一点,但是其实真的很简单!

在上一篇博客《MySQL 之 5.6.22安装教程》中,我们介绍了MySQL的安装。今天我们主要讲解一下怎么在MySQL中导入外...