SQL Server数据迁移至MySQL

背景:


我所在公司的官网使用了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.


wKiom1ZqNKCQtWm4AACwJWN0rPI090.png


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

wKiom1ZqNhrC29VRAAGEF3pljLU037.png


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


wKiom1ZqN_2S0g4pAAGWWT2Jo6o713.png


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


wKioL1ZqOMSDD0J5AAC66Ndm9Ko262.png


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


wKioL1ZqOvDBmGpMAAD-T6kD9kA778.png


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

wKiom1ZqOvCzIs0BAAC3MrF1VNA864.png


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


wKioL1ZqOvLi7b_4AADikynUbHw590.png


在"Migration"中选择下一步。


wKioL1ZqOvOQI3HIAAC4RPLxmzc094.png


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


wKioL1ZqOvWR6jTLAACkUQ9Yfek528.png


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


wKioL1ZqOvayDiQnAADOixvTm4A649.png


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


wKioL1ZqOvfjfoQHAADQhhNNMLc136.png


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


wKiom1ZqOviA3DsoAAE9EycyGXQ224.png


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


wKiom1ZqOvrintp3AADbj9QfKXg059.png


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


wKioL1ZqOvyTjqRcAACvQbzm2kc514.png


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


wKioL1ZqPWmxq1cqAAAT8areXE8838.png


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


wKioL1ZqPkLTmOY8AABCaic-tXE681.png


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


wKioL1ZqRFHj77QDAAIsqCZ_KZc161.png


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


wKiom1ZqRFKCehB5AAC26KolVs0199.png


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


wKioL1ZqRFSBB3PUAADopUKYmws955.png


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


wKiom1ZqRFOwOdXsAABlT6khMMg710.png


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


wKioL1ZqRFWjdgnaAACGrJCxnkw420.png


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


wKioL1ZqReqQgCFsAABzB0Q40wo413.png


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


wKiom1ZqReuz_h82AAEscwSntSk845.png


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











本文转自 安安安安森  51CTO博客,原文链接:http://blog.51cto.com/smallc/1721922,如需转载请自行联系原作者
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 将SQL Server中的数据迁移MySQL可以通过以下步骤实现: 1. 将SQL Server中的数据导出为CSV或Excel格式的文件。 2. 在MySQL中创建相应的表结构。 3. 将导出的数据文件导入到MySQL中。 4. 验证数据是否正确导入。 需要注意的是,在进行数据迁移时,需要考虑数据类型、字符集等因素,以确保数据的完整性和准确性。同时,还需要注意SQL ServerMySQL之间的差异,例如SQL语法、函数等方面的差异,以避免出现错误。 ### 回答2: 数据迁移是当企业需要更换或升级数据库时,经常遇到的问题。对于企业来说,有时需要把 SQL Server 数据库转移到 MySQL 数据库中。下面我将从数据结构比较、迁移工具选择迁移前后注意事项三个方面详细介绍 SQL Server 数据迁移MySQL 的具体步骤及注意点。 1. 数据结构比较 在进行数据迁移之前,我们需要先对 SQL ServerMySQL 数据库数据结构进行比较,以确定目标 MySQL 数据库是否可以容纳 SQL Server 数据库中的全部数据SQL ServerMySQL 之间的区别很大,尤其是在数据类型和枚举上。因此在迁移之前,需要先确定 SQL Server 数据库中所使用的数据类型是否与 MySQL 数据库兼容。 2. 迁移工具选择选择其他的数据库迁移工具相比,选择可靠的工具可以简化数据库迁移过程。例如,如果你想将 SQL Server 数据库迁移MySQL,可以使用 MySQL Workbench 数据库迁移工具。这个工具可以将 SQL Server 数据库转移为 MySQL 脚本,从而帮助您完成数据迁移的过程。而且,这个工具是免费的,并且易于使用。 3. 迁移前后注意事项 在 SQL Server 数据迁移MySQL 之前,您需要做好以下准备工作: ● 创建与 SQL Server 数据库相应的 MySQL 数据库,并在 MySQL 数据库中创建表。 ● 将 SQL Server 数据库数据转换为 MySQL 数据库中的数据类型,并将数据存储在临时数据文件中。 ● 在转移之前,检查所有 SQL Server 数据库的约束和约束规则是否在 MySQL 数据库中得到满足。 在迁移期间,您需要注意以下几点: ● 在迁移过程中,要保证源数据库 SQL Server 的一致性和完整性。 ● 在导入数据之前,确保在 MySQL 数据库中创建了相应的表,并设置正确的列属性。 ● 在进行数据导入时,将导入的数据逐步验证,以确保数据的一致性和准确性。 ● 在迁移完成后,请进行数据验证,确保 MySQL 数据库中的数据SQL Server 数据库中的数据没有发生变化,数据完整性得到保证。 综上所述,SQL Server 数据迁移MySQL 的过程需要经过细致的计划和操作,需要注意数据结构比较、迁移工具选择迁移前后注意事项三个方面的问题,才能顺利完成数据迁移的任务。 ### 回答3: 对于将SQL Server数据迁移MySQL的过程,需要考虑以下几个方面。 1. 数据结构转换:SQL ServerMySQL数据类型存在一定的区别,因此在进行数据迁移之前需要对数据类型进行转换。例如,SQL Server的datetime类型在MySQL中可以转换为timestamp类型。此外,还需要注意区分SQL Server的nvarchar类型和MySQL的varchar类型。 2. 数据迁移方法:数据迁移可以通过手动方法进行,即逐个表进行转换和导入,也可以通过数据库迁移工具来进行。如果是手动方法,则需要先将SQL Server数据转换为MySQL能够识别的格式,然后将数据导入到MySQL中。如果使用数据库迁移工具,则可以自动完成数据结构转换和数据导入。 3. 数据安全性:在进行数据迁移过程中需要注意数据的安全性,包括数据完整性和数据准确性。在进行数据结构转换和数据导入之前,需要对数据进行备份和验证,以确保数据迁移没有数据损失和数据错误。 4. 数据库配置:迁移完成后,需要对MySQL数据库配置进行相应的更改,以使其与SQL Server的配置相同。这包括字符集、存储引擎等配置。 除了以上几个方面,还需要考虑数据迁移的时间和资源消耗。对于较大的数据库迁移,可能需要在非工作时间进行,以避免对业务造成影响。此外,还需要考虑服务器资源和网络带宽的使用情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值