华为云云数据库RDS MySQL迁移到阿里云RDS MySQL

本文介绍华为云云数据库RDS MySQL迁移到阿里云云数据库RDS MySQL的注意事项及操作步骤。

前提条件

源端及目标端

要求

源端

华为云云数据库RDS MySQL实例

  • 已开通公网访问,并获取外网连接地址及端口。

  • 已创建高权限账号。

目标端

阿里云云数据库RDS MySQL实例

迁移限制

  • 结构迁移不支持event的迁移。

  • 对于MySQL的浮点型floatdouble,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服务器的IP地址段添加到源端的安全配置中,再配置数据迁移任务。

  • 对于七天之内的异常迁移任务,DTS会尝试自动恢复,可能会导致迁移任务的源端数据库数据覆盖目标实例数据库中写入的业务数据,迁移任务结束后务必将DTS访问目标实例账号的写权限用revoke命令回收掉。

操作步骤

  1. 进入目标地域的迁移任务列表页面。

    1. 登录数据传输服务DTS控制台

    2. 在左侧导航栏,单击数据迁移

    3. 在页面左上角,选择实例所属地域。

  2. 单击创建任务,进入任务配置页面,配置源库及目标库信息。

    库类别

    参数

    说明

    源库

    数据库类型

    源数据库类型,选择MySQL

    接入方式

    源库实例接入DTS的方式,本示例选择公网IP

    实例地区

    公网接入,选择目标地域即可,本示例选择华东1(杭州)

    域名或IP地址

    华为云云数据库RDS MySQL实例的公网地址

    端口

    华为云云数据库RDS MySQL实例的数据库端口

    数据库账号

    华为云云数据库RDS MySQL实例的高权限账号

    数据库密码

    华为云云数据库RDS MySQL实例的高权限账号的密码。

    目标库

    数据库类型

    目标实例的类型,选择MySQL

    接入方式

    目标实例接入DTS的方式,本示例选择云实例

    实例地区

    RDS MySQL实例所在的地域。

    是否跨阿里云账号

    选择不跨账号

    RDS实例ID

    RDS MySQL实例的ID。

    数据库账号

    目标实例的高权限账号

    数据库密码

    目标实例的高权限账号对应的密码。

    连接方式

    根据数据库实际情况选择非加密连接SSL安全连接。如果设置为SSL安全连接,您需要提前开启RDS MySQL实例的SSL加密功能,详情请参见使用云端证书快速开启SSL链路加密

  3. 填写完毕后单击测试连接以进行下一步,在DTS服务器访问授权确定窗口中,再次单击测试连接以进行下一步

  4. 配置任务对象及高级配置步骤,选择迁移类型

    说明

    为保证迁移数据的一致性,建议选择结构迁移+全量数据迁移+增量数据迁移

  5. 勾在源库对象框中将想要迁移的数据库选中,单击,移动到已选择对象框。

    迁移

  6. 单击下一步高级配置,保持默认配置即可。

    当源库和目标库账号满足要求时,可以将源库的账号(包含密码和权限)迁移至目标库。迁移数据库账号的注意事项及数据库账号所需权限等更多信息请参见数据库账号所需权限

  7. 单击下一步保存任务并预检查,等待预检查结束。

    说明

    如果检查失败,可以根据错误项的提示进行修复,然后重新启动任务。

  8. 单击下一步购买,在购买页,勾选《数据传输(按量付费)服务条款》并单击购买并启动

    如果选择了增量迁移,那么进入增量迁移阶段后,源库的更新写入都会被DTS同步到目标RDS MySQL实例。迁移任务不会自动结束。如果您只是为了迁移,那么建议在增量迁移无延迟的状态时,源库停写几分钟,等待增量迁移再次进入无延迟状态后,停止掉迁移任务,直接将业务切换到目标RDS MySQL实例上即可。

    说明

    结构迁移和全量迁移任务暂不收费,增量迁移根据链路规格按小时收费。

  9. 等待迁移任务完成即可。