记一次MSSQL数据迁移到Mysql
今天星期一,不算很忙,待到还有半个小时下班的时候,zabbix报警无情的响起,整个集群都出现了网络中断,我还在做数据迁移!数据迁移!数据迁移!没错,重要的事情要讲三遍。这个黑色星期一:( ,不错,现在的我还在看着黑色的命令行加班,趁着现在码一篇短文吧,希望对大家有帮助,废话不多说了,马上开始。
记一次SQL Server数据导入到Linux mysql
使用到的工具:
Navicat Premium
Mysql OBDC //官方的工具
由于在安装mysql obdc的时候出现了报错,缺失文件,因为时间紧急,懒得折腾,直接换了一个工具,Navicat Premium 。
1.首先,要部署好需要导入数据的Mysql-5.6,设置远程登录的帐号
1 2 |
grant all privileges on *.* to mas@'%' identified by '123456'; flush privileges; |
2.登录到SQL Server的服务器上,安装Navicat Premium,网上有安装版的也有解压版的,解压之后安装一个补丁就能激活使用,这里不再啰嗦。我这里是直接将Navicat Premium安装在了SQL Server上去了,为了避开接下来繁琐的mssql验证。
3.查看需要导出的数据库,在Mysql-5.6上创建一个同名的数据库
比如说我这里要导入一个叫做Wixxx的数据库,那么要在Mysql上先创建一个同名的数据库,可以在Navicat界面上创建,也可以通过命令行:
1 |
CREATE DATABASE `Wixxx` DEFAULT CHARACTER SET utf8; |
4.使用Navicat 登录到远程的Mysql,打开刚才新建的空白数据库Wixxx,选择“导入向导”:
5.选择导入数据的格式,这里选ODBC
6.选择导入的数据源
7.配置连接的属性
在这一步中,如果在远程的机器对SQL Server进行连接,请保证账号密码以及登录的权限正确,否则将不能进行后面的步骤,报错如下
8.连接测试成功以后,选择需要导入的表
9.自定义目标表,此处可以修改成自己需要的名字
10.这一步是重点,务必注意SQL Server和Mysql之间的数据类型,需要按照实际情况修改,否则将会导致乱码!
忘码了,算了*--*。
11.选择导入的模式,”高级“选项卡自己按照情况勾选
12设置完成就可以开始导入数据了,这是最后导入完成的效果图
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
需要修改的数据类型:
参考:http://blog.itpub.net/25379809/viewspace-703994/
666,厉害了我的哥