本文介绍Microsoft Azure Database for MySQL数据库迁移到阿里云的步骤及注意事项。
前提条件
| 源端及目标端 | 要求 | 相关参考 | |
|---|---|---|---|
| 源端 | Microsoft Azure Database for MySQL实例 |
|
Microsoft Azure Database for MySQL官方文档 |
| 目标端 | 阿里云云数据库RDS MySQL实例 |
|
|
注意事项
- 结构迁移不支持event的迁移。
- DTS在执行全量数据迁移时将占用源库和目标库一定的读写资源,可能会导致数据库的负载上升,在数据库性能较差、规格较低或业务量较大的情况下(例如源库有大量慢SQL、存在无主键表或目标库存在死锁等),可能会加重数据库压力,甚至导致数据库服务不可用。因此您需要在执行数据迁移前评估源库和目标库的性能,同时建议您在业务低峰期执行数据迁移(例如源库和目标库的CPU负载在30%以下)。
- 如果源库中待迁移的表没有主键或唯一约束,且所有字段没有唯一性,可能会导致目标数据库中出现重复数据。
-
对于数据类型为FLOAT或DOUBLE的列,DTS会通过
ROUND(COLUMN,PRECISION)来读取该列的值。如果没有明确定义其精度,DTS对FLOAT的迁移精度为38位,对DOUBLE的迁移精度为308位,请确认迁移精度是否符合业务预期。 -
DTS会自动地在阿里云RDS MySQL中创建数据库,如果待迁移的数据库名称不符合阿里云RDS的定义规范,您需要在配置迁移任务之前在阿里云RDS MySQL中创建数据库。
说明 关于阿里云RDS的定义规范和创建数据库的操作方法,请参见 创建数据库 。
- 对于迁移失败的任务,DTS会触发自动恢复。在您将业务切换至目标实例前,请务必先结束或释放该任务,避免该任务被自动恢复后,导致源端数据覆盖目标实例的数据。
-
DTS会尝试恢复七天之内迁移失败任务。因此业务切换至目标实例前,请务必结束或释放该任务,或者将DTS访问目标实例账号的写权限用
revoke命令回收掉。避免该任务被自动恢复后,源端数据覆盖目标实例的数据。 - 如果使用了对象名映射功能后,依赖这个对象的其他对象可能迁移失败。
- 建议源和目标库的MySQL版本保持一致,以保障兼容性。
费用说明
| 迁移类型 | 链路配置费用 | 公网流量费用 |
|---|---|---|
| 结构迁移和全量数据迁移 | 不收费。 | 通过公网将数据迁移出阿里云时将收费,详情请参见 计费概述 。 |
| 增量数据迁移 | 收费,详情请参见 计费概述 。 |
操作步骤
- 登录 DTS控制台 。
- 在左侧菜单栏单击 数据迁移 ,然后单击 创建迁移任务 。
-
填写源库和目标库信息,具体参数配置说明如下:
库类别 参数 说明 源库 数据库类型 源数据库类型,本示例选择 MySQL 。 接入方式 源库实例接入DTS的方式,本示例选择 公网IP 。 实例地区 公网接入,选择任意地区即可,本示例选择 华东1(杭州) 。 如果您的实例配置了访问控制,则请先为DTS服务开放访问权限后,再配置数据迁移任务。DTS服务的IP地址段信息,请参见 迁移、同步或订阅本地数据库时需添加的IP白名单 。
主机名或IP地址 Microsoft Azure Database for MySQL数据库的 服务器名称 。 端口 Microsoft Azure Database for MySQL数据库的服务端口(需开放至公网),默认为 3306 。 数据库账号 Microsoft Azure Database for MySQL数据库的高权限账号。 数据库密码 Microsoft Azure Database for MySQL数据库的高权限账号的密码。 目标库 数据库类型 目标实例的类型,本示例选择 MySQL 。 接入方式 目标实例接入DTS的方式,本示例选择 云实例 。 实例地区 目标实例所在的地域。 RDS实例ID 对应地区下的实例ID,这里选择想要迁移到的目标实例的ID。 数据库账号 目标实例的高权限账号。 数据库密码 目标实例的高权限账号对应的密码。 连接方式 有 非加密传输 和 SSL安全连接 两种连接方式,选择SSL安全加密连接会显著增加CPU消耗。 - 填写完毕后单击 测试连接以进行下一步 ,在 DTS服务器访问授权 确定窗口中,再次单击 测试连接以进行下一步 。
-
在
配置任务对象及高级配置
步骤,选择
迁移类型
。
说明 为保证迁移数据的一致性,建议选择 库表结构迁移 + 全量数据迁移 + 增量数据迁移 。
-
在
源库对象
框中将想要迁移的数据库选中,单击
,移动到
已选择对象
框。
- 单击 下一步高级配置 ,保持默认配置即可。
-
单击
下一步保存任务并预检查
,等待预检查结束。
说明 如果检查失败,可以根据错误项的提示进行修复,然后重新启动任务。
-
单击
下一步购买
,在
购买
页,勾选
《数据传输(按量付费)服务条款》
并单击
购买并启动
。
说明 结构迁移和全量迁移任务暂不收费,增量迁移根据链路规格按小时收费。
-
等待迁移任务完成即可。