为什么要做迁移?
由于系统版本、数据库的升级,导致测试流程阻塞,为了保证数据及系统版本的一致性,我又迫切需要想用这套环境做性能测试,所以和领导、开发请示,得到批准后,便有了这次学习的机会,所以特此来记录下整个过程。
使用方案:
借助工具与编码相结合形式,备份MySQL数据库,并把备份数据库还原到本地MySQL数据库,使用第三方工具完成数据迁移,代码实现SQL条数统计按照库名和表名回写结果,使用ultracompare实现比对。
使用工具:
第一种迁移工具
Microsoft SQL Server Migration Assistant for MySQL:推荐这款工具,微软出的,但是也会有些问题,如部分表数据不能完全迁移
第二种迁移工具
Navicat Premium 12:不推荐,速度慢,极容易失败
第三种迁移工具
Tapdata:这款也不错,第三方工具,但不稳定,总内存溢出,底层Java写的,需要与客服沟通解决使用中问题,客服响应速度不是很理想
比对工具
ultracompare:比对结果使用
工具使用
第一种迁移工具使用
Microsoft SQL Server Migration Assistant for MySQL,这款工具是微软出的,真的很好用,而且速度也算比较快。
从https://www.microsoft.com/en-us/download/details.aspx?id=54257,下载安装.
下面来介绍如何使用这款工具,具体步骤如下:
第一步:创建一个迁移工程
需要注意的是你需要选择迁移到的SQL Server数据库的版本,目前支持:SQL Azure,SQL Server 2005,SQL Server2008,SQL Server 2012,SQL Server2014,根据实际需要选择你要迁移到目标数据库的版本。
第二步:连接源数据库和目标数据库
上面的是源:MySQL,下面的是目标:SQL Server
第三步:选择需要迁移的数据库创建迁移分析报告
此报告会分析当前需要迁移的数据库中的所有表结构并会生成一个可行性报告
生成的报告如下:
分析需要转换的对象,表,数据库有多少个,是否存在不可转换的对象等信息,如有检查错误会向下面输出
第四步: 转换schema 也就是数据库结构
迁移分两步:1.转换数据库结构,2.迁移数据;
<