手把手教你如何将SQLServer数据迁移到Mysql

2022年2月28日 285点热度 0人点赞 0条评论


图片
图片

本篇投稿来自黑马郑州16期Java老学员——豆瓣酱小童鞋,目前在南京工作~



目录


一,SQLServer 转Mysql 的几种方法。


二,DB2DB 使用

2.1 迁移出错后的报错日志。


三,补齐出现问题的表

问题

原因

解决


一,SQLServer 转Mysql 的几种方法。

sqlServer 转mysql 最大的问题是语法不一样,数据类型不一样。这个时候就需要用到工具来转换。目前我了解到的有四种工具可以迁移数据。
● SQLyog(SQLyog Ultimate - Powerful MySQL Development and Administration - Webyog)
● Navicat Premium(Navicat Premium | Connects to multiple databases on a single GUI)
● Mss2sql(Database migration and synchronization tools)
● DB2DB(深圳市米软科技有限公司 - DB2DB异构数据库转换) 
下面省略四种工具比较的过程。详细比较内容可查看下面的链接。
https://www.cnblogs.com/overblue/p/5796887.html
我使用的是DB2DB这个是国产的软件,需要付费使用,试用版可传输五万条数据。
然后SQLyog 软件可以保证数据的完整性,但是速度太慢了,
Navicat 数据完整性太差,而且sqlserver 转MySQL 主键自增会消失。
二,DB2DB 使用
图片
速度还是很快的,但是我使用过程中发现了一个问题。

源数据库里有51张表,但是迁移到目标数据库中只有45张表,这就说明迁移过程有缺失。
2.1 迁移出错后的报错日志。
        图片

就在ConverLog.txt 文件内有报错日志。

图片
创建失败的表有六张,加上目标数据库的45张表,就是51张,可以对上了。下面还有元数据表中数据条数和目标数据表中数据条数不同的表。

有了这个信息,我们可以对目标数据库的问题做补丁。
三,补齐出现问题的表
目前我出现问题的表较少,所以使用SQLyog 来选中源数据库中的那几个有问题的表。然后等待就可以了。

不过出现了一个问题。
问题
ERROR: 2006, MySQL server has gone away

原因
有较长的sql 执行,导致出现了这个错误。
解决
扩大这个字段的值。
set global max_allowed_packet=1024*1024*16*10;

对于这个问题,网上有很多的方法。只不过这个解决办法适用于我。如果大家有这个问题,可能解决办法不止这一个,可以上网搜搜。
图片

后宫佳丽们!

小黑向全体传智新老学员征稿

方便大家对自己的优劣势了然于胸,合理部署,见招拆招,

在职场生涯对决中立于不败之地!

说明见下方图片



一、投稿类型

学习分享(学习方法、学习心得……)

技术文章(Java、前端、Python、大数据、人工智能……)

面试分享(面试题、面试故事、面试经验……)

职场感悟(入职攻略、职场趣事、职场八卦……)

文体不限,题材不限,只要你想写,小黑就帮你推!

 

二、稿件要求

1、必须原创首发,拒绝抄袭稿件,结尾可附带30字以内的个人介绍

2、字数在千字左右即可,投稿可附带图片,但不涉及版权问题

 

三、投稿激励

1、凡认真投稿的作者,无论被选中与否都可获得小礼品一份,稿件被选中可获得升级版礼品一份,未被选中的文章会给出修改建议,提高中稿率。

2、每一篇合格的稿件(无论被发表与否)都可累积1分,被发表的稿件可累积5分。积分还可额外兑换奖品。

3、增设阅读量榜、分享榜、点赞榜、留言榜,每季度各榜单排名第一位的作者可获得神秘礼物大奖!!!


四、怎么投

稿件以附件形式直接发到小黑黑的邮箱:[email protected]


图片


-End-

图片

图片

降薪换一份不加班的工作,值得吗?

图片

面试官:谈谈ReentrantLock与synchronized的区别?

图片

让线程等待和唤醒的方法有几种?

图片 可乐记得加冰,爱我就要置顶 图片


图片
图片
图片素质三连biubiubiu~图片
80400手把手教你如何将SQLServer数据迁移到Mysql

这个人很懒,什么都没留下

文章评论