记一次MSSQL数据迁移到Mysql

今天星期一,不算很忙,待到还有半个小时下班的时候,zabbix报警无情的响起,整个集群都出现了网络中断,我还在做数据迁移!数据迁移!数据迁移!没错,重要的事情要讲三遍。这个黑色星期一:( ,不错,现在的我还在看着黑色的命令行加班,趁着现在码一篇短文吧,希望对大家有帮助,废话不多说了,马上开始。

记一次SQL Server数据导入到Linux mysql

使用到的工具:
Navicat Premium

Mysql OBDC //官方的工具
由于在安装mysql obdc的时候出现了报错,缺失文件,因为时间紧急,懒得折腾,直接换了一个工具,Navicat Premium 。

1.首先,要部署好需要导入数据的Mysql-5.6,设置远程登录的帐号

2.登录到SQL Server的服务器上,安装Navicat Premium,网上有安装版的也有解压版的,解压之后安装一个补丁就能激活使用,这里不再啰嗦。我这里是直接将Navicat Premium安装在了SQL Server上去了,为了避开接下来繁琐的mssql验证。

3.查看需要导出的数据库,在Mysql-5.6上创建一个同名的数据库

比如说我这里要导入一个叫做Wixxx的数据库,那么要在Mysql上先创建一个同名的数据库,可以在Navicat界面上创建,也可以通过命令行:

4.使用Navicat 登录到远程的Mysql,打开刚才新建的空白数据库Wixxx,选择“导入向导”:
2016-04-26_151151

5.选择导入数据的格式,这里选ODBC

2016-04-26_152003

6.选择导入的数据源

2016-04-26_152043

7.配置连接的属性

2016-04-26_152322

在这一步中,如果在远程的机器对SQL Server进行连接,请保证账号密码以及登录的权限正确,否则将不能进行后面的步骤,报错如下

2016-04-26_152245

8.连接测试成功以后,选择需要导入的表

2016-04-27_094005

9.自定义目标表,此处可以修改成自己需要的名字

2016-04-27_094027

10.这一步是重点,务必注意SQL Server和Mysql之间的数据类型,需要按照实际情况修改,否则将会导致乱码!

2016-04-27_094101

忘码了,算了*--*。

11.选择导入的模式,”高级“选项卡自己按照情况勾选

2016-04-27_093945

12设置完成就可以开始导入数据了,这是最后导入完成的效果图

2016-04-27_093918

30多个G 的数据量,大概花了4H,时间有点长了。

-------------------------------------分割线是一种态度*&*----------------------------------------------

在这里也记录下SQL Server和Mysql之间的数据类型差异,具体如下:

一致的数据类型
BIGINT
BINARY
BIT
CHAR
CHARACTER
DATETIME
DEC,DECIMAL
FLOAT
INT,INTEGER
NCHAR,NATIONAL CHARACTER
NVARCHAR,NCHAR VARYING
NATIONAL CHAR VARYING,NATIONAL CHARACTER VARYING
NUMERIC
REAL
SMALLINT
TEXT
TIMESTAMP
TINYINT
VARBINARY
VARCHAR,CHAR VARYING,CHARACTER VARYING

需要修改的数据类型:

QQ截图20160516220521

参考:http://blog.itpub.net/25379809/viewspace-703994/

 

提醒
二狗子
游客
二狗子

666,厉害了我的哥