码迷,mamicode.com
首页 > 数据库 > 详细

SQL Server数据迁移至MySQL

时间:2015-12-11 13:19:26      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:mysql迁移   sql数据迁移   数据库迁移   workbench   

背景:


我所在公司的官网使用了PHP进行重新开发,抛弃了原有.net开发环境,但需要使用到老官网的一些数据,所以需要进行数据迁移。


环境如下:

老官网:Windows Server 2008 R2, SQL Server 2008 R2

新官网:RedHat 6.5,MySQL,PHP...


====================我是分割线=========================


目前网络上有很多软件声称是可以进行SQL Server-> My SQL的数据迁移,比如OBDB2DB,但我尝试转换不成功,其他类似的小软件,我也没去测试。在这里我使用了MySQL官方提供的MySQL WorkBench,此软件功能强大,既可以设计开发数据库,也可以进行数据转移。具体链接,请大家自行去MySQL官网查找。


MySQL workbench安装过程略,具体迁移过程如下:


打开MySQL workbench->Database->Migration wizard->Start Migration.


技术分享


在"Database system"选项中选择"Microsoft SQL Server",在Connection Method中选择"ODBC(native)",输入相应的服务器,用户名,密码,点击"Test Connection"即可测试是否连接成功。

技术分享


在"Target Selection"页面中填入目标MySQL信息并测试连接情况,然后点击下一步。


技术分享


在"Fetch Schemas list"页面中,软件会对源数据库进行数据检查以及获取相应信息。


技术分享


在"Schemas Selection"选择你想要迁移的数据库,点击下一步。


技术分享


在"Reverse Engineer Source"选项点击下一步即可。

技术分享


在"Source Objects"中选择你想迁移源数据的类型,默认会勾选"Migrate Table objects",默认即可,点击下一步。


技术分享


在"Migration"中选择下一步。


技术分享


在"Manual editing"查看迁移可能存在的错误,警告。一般有错误几乎是无法迁移成功,有警告还是有可能的。


技术分享


在"Target Creation Option"选项中选择"Create Schema in target RDBMS",是否需要创建"SQL Script"看自己的需求喽。默认是不会选中。


技术分享


在"Create Schemas"页面中,软件会在目标MySQL中自动创建相应的Schemas以及Objects。


技术分享


"Create Target Results"中可以查看到创建的结果,右侧会显示成功状态。


技术分享


"Data Transfer Setup"页面中,软件会拷贝源数据到目标数据库,有三个选项可以选择,如果网络允许,直接选择"Online copy of table data to target RDBMS",即在线迁移。


技术分享


"Bulk Data Transfer"页面中可以看到数据迁移的过程,如果迁移一直正常,那么就迁移成功啦。


技术分享


可惜我本次迁移存在问题,记得之前页面的warning么,很有可能是那个问题。但只是1个表迁移有问题,其他表是没有问题的,可以连接到目标数据库去查看。


技术分享


如果只是1个表迁移失败并且表中的数据不是很多,我们可以通过手动迁移,通过log可以看出,有一个表迁移失败。我们接下来手动迁移这个表。


技术分享


打开MS SQL Server 2008 Management,找到对应的数据库,在数据库上点击右键“任务”->“生成脚本”


技术分享


在选择对象中,选择“选择特定数据库对象”,找到想要导出的表,点击下一步。


技术分享


在“设置脚本编写选项”页面中,点击高级选项。


技术分享


“找到要编写标本的数据的类型”,选择“架构和数据”。


技术分享


摘要选项,review相关信息,并点击下一步,即会自动生成脚本。


技术分享


稍等片刻之后,可以在保存目录中找到脚本文件。


技术分享


下图即是导出的MS SQL script,但由于导出的SQL script只适用于SQL Server,导入MySQL需要进一步修改,由于两者语法差别不大,稍稍修改即可,请自行搞定啦啦啦啦啦.....


技术分享


修改后的语句,可以自动在MySQL命令行中执行插入数据,接下来的步骤请自行搞定啦阿拉拉了拉了。。。



==============我是分割线=========================


妈蛋,上面的图都白打马赛克了,最后一张全给暴漏了....


What the hell %>_<%



本文出自 “容嬷嬷” 博客,请务必保留此出处http://smallc.blog.51cto.com/926344/1721922

SQL Server数据迁移至MySQL

标签:mysql迁移   sql数据迁移   数据库迁移   workbench   

原文地址:http://smallc.blog.51cto.com/926344/1721922

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!