本文介绍华为云云数据库RDS MySQL迁移到阿里云的步骤及注意事项。
前提条件
源端及目标端 | 要求 | 相关参考 | |
---|---|---|---|
源端 | 华为云云数据库RDS MySQL实例 |
|
华为云云数据库RDS官方文档 |
目标端 | 阿里云云数据库RDS MySQL实例 |
|
迁移限制
- 结构迁移不支持 event 的迁移。
- 对于MySQL的浮点型float/double,DTS通过
round(column,precision)
来读取该列的值,若列类型没有明确定义其精度,对于float,精度为38位,对于double类型,精度为308,请先确认DTS的迁移精度是否符合业务预期。 - 如果使用了对象名映射功能后,依赖这个对象的其他对象可能迁移失败。
- 增量迁移限制如下:
- 源端的MySQL实例需要按照要求开启binlog。
- 源库的binlog_format要为row。
- 源MySQL如果为5.6及以上版本时,它的binlog_row_image 必须为full。
- 增量迁移过程中如果源MySQL实例出现因实例跨机迁移或跨机重建等导致的binlog文件ID乱序,可能导致增量迁移数据丢失。
说明 华为云云数据库RDS MySQL实例的参数修改,请参见 华为云云数据库RDS官方文档。
注意事项
对于七天之内的异常迁移任务,DTS会尝试自动恢复,可能会导致迁移任务的源端数据库数据覆盖目标实例数据库中写入的业务数据,迁移任务结束后务必将DTS访问目标实例账号的写权限用revoke
命令回收掉。
操作步骤
- 登录DTS控制台。
- 在左侧菜单栏单击数据迁移,然后单击创建迁移任务。
- 填写源库和目标库信息,具体参数配置说明如下:
库类别 参数 说明 源库 数据库类型 源数据库类型,本示例选择MySQL。 接入方式 源库实例接入DTS的方式,本示例选择公网IP。 实例地区 公网接入,选择任意地区即可,本示例选择华东1(杭州)。 如果您的实例配置了访问控制,则请先为DTS服务开放访问权限后,再配置数据迁移任务。DTS服务的IP地址段信息,请参见迁移、同步或订阅本地数据库时需添加的IP白名单。
主机名或IP地址 华为云云数据库RDS MySQL实例的公网地址。 端口 华为云云数据库RDS MySQL实例的数据库端口。 数据库账号 华为云云数据库RDS MySQL实例的高权限账号。 数据库密码 华为云云数据库RDS MySQL实例的高权限账号的密码。 目标库 数据库类型 目标实例的类型,本示例选择MySQL。 接入方式 目标实例接入DTS的方式,本示例选择云实例。 实例地区 目标实例所在的地域。 RDS实例ID 对应地区下的实例ID,这里选择想要迁移到的目标实例的ID。 数据库账号 目标实例的高权限账号。 数据库密码 目标实例的高权限账号对应的密码。 连接方式 有非加密传输和SSL安全连接两种连接方式,选择SSL安全加密连接会显著增加CPU消耗。 - 填写完毕后单击测试连接以进行下一步,在DTS服务器访问授权确定窗口中,再次单击测试连接以进行下一步。
- 在配置任务对象及高级配置步骤,选择迁移类型。
说明 为保证迁移数据的一致性,建议选择 结构迁移+ 全量数据迁移+ 增量数据迁移。
- 勾在源库对象框中将想要迁移的数据库选中,单击
,移动到已选择对象框。
- 单击下一步高级配置,保持默认配置即可。
- 单击下一步保存任务并预检查,等待预检查结束。
说明 如果检查失败,可以根据错误项的提示进行修复,然后重新启动任务。
- 单击下一步购买,在购买页,勾选《数据传输(按量付费)服务条款》并单击购买并启动。
如果选择了增量迁移,那么进入增量迁移阶段后,源库的更新写入都会被DTS同步到目标RDS实例。迁移任务不会自动结束。如果您只是为了迁移,那么建议在增量迁移无延迟的状态时,源库停写几分钟,等待增量迁移再次进入无延迟状态后,停止掉迁移任务,直接将业务切换到目标RDS实例上即可。说明 结构迁移和全量迁移任务暂不收费,增量迁移根据链路规格按小时收费。
- 等待迁移任务完成即可。