EKsumic's Blog

let today = new Beginning();

Click the left button to use the catalog.

OR

Sql Server数据库迁移到MySQL(使用SQLyog)

新建一个同名的mysql数据库,

testDATABASE

这里为了演示取名为test。

test sqldatabase sample

基字符集是你默认安装的系统的字符集,我们这里默认使用utf-8,防止乱码。

不过话说回来,如果不清楚default是什么的话,建议执行一下语句:

SHOW VARIABLES LIKE 'character%';

character select

SHOW VARIABLES LIKE 'collation_%';  

character selection

第二条语句将告诉你,默认连接、默认数据库使用基础字符集。

import sql server data

右击数据库,导入,导入外部数据。

start new workspace

选择开始新的工作,点击下一步。

create ned dsn file

选择建立新的DSN。

select file and data source

选择文件数据源。

select sql server

选择SQL Server。

browse your created .dsn file and Next

选择你想保存dsn的位置。

input sql connection strings

选择你要连接的SQL Server。

choose what database you want to connect

输入登录ID和密码。

choose the default database you want to connect

选择你想要导入的数据库,

然后一直下一步,直至完成。

这个时候我们已经配置完成了一个DSN文件,

dsn file complete

接下来我们要做的事情就是浏览该文件:

choose your created dsn file

然后我们输入凭据:

input your sql server account and passwd

填写你要导入的mysql数据库,这里我选中的是test:

settings

next

接下来你需要选择你需要导入的表。

choose the data you want to input

注意,你需要设置转换的类型,默认SQL Server中字段类型datetime会被转换为varchar这里需要手动调整目标类型为datetime。(重要)

点击Map,将打开详细:

change the varchar to datetime lengh 6

例如列映射这里的RegisterTime是varchar,需要改为datetime,长度为6。

change the varchar to datetime lengh 6

其它的SQL Server与MySQL的对应关系请参考:

https://blog.csdn.net/lilong329329/article/details/78899477

配置完成,直接下一步,选择立即执行。

import success

当执行完成后,可从SQLyog查看已经导入的表和数据。

 

当然,第一次你可能导入不完全,这是因为部分外键约束没有建立,第二次再次导入缺失的表和数据的时候,应该能够补全。

 

基本上改个时间datetime就完事了,其它的不用改,

我知道varchar有问题,但是建议别改,就text过来,应该能导入数据,导入完成之后基本没什么事。

 

 

 

参考文档:

[1] 数据库 SQL Server 到 MySQL 迁移方法总结

[2] SQL Server迁移数据到MySQL - 听风吹雨

[3] SQLServer数据库转换成MySQL数据库 - 王鹏坤

 

This article was last edited at 2020-11-05 01:09:55

* *