本文介绍腾讯云云数据库MySQL迁移到阿里云的步骤及注意事项。

前提条件

源端及目标端要求相关参考
源端腾讯云云数据库MySQL实例
  • 已开通公网访问,并获取外网连接地址及端口。
  • 已创建高权限账号。
腾讯云云数据库MySQL官网文档
目标端阿里云云数据库RDS MySQL实例
  • 已创建阿里云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乱序,可能导致增量迁移数据丢失。
说明 腾讯云云数据库MySQL参数的修改,请参见腾讯云云数据库MySQL官网文档

注意事项

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

操作步骤

  1. 登录DTS控制台
  2. 在左侧菜单栏单击数据迁移,然后单击创建迁移任务
  3. 填写源库和目标库信息,具体参数配置说明如下:
    库类别参数说明
    源库数据库类型源数据库类型,本示例选择MySQL
    接入方式源库实例接入DTS的方式,本示例选择公网IP
    实例地区公网接入,选择任意地区即可,本示例选择华东1(杭州)

    如果您的实例配置了访问控制,则请先为DTS服务开放访问权限后,再配置数据迁移任务。DTS服务的IP地址段信息,请参见迁移、同步或订阅本地数据库时需添加的IP白名单

    主机名或IP地址腾讯云云数据库MySQL的外网地址
    端口腾讯云云数据库MySQL的外网地址开放的端口
    数据库账号腾讯云云数据库MySQL的默认高权限账号root
    数据库密码腾讯云云数据库MySQL中root账号的密码。
    目标库数据库类型目标实例的类型,本示例选择MySQL
    接入方式目标实例接入DTS的方式,本示例选择云实例
    实例地区目标实例所在的地域。
    RDS实例ID对应地区下的实例ID,这里选择想要迁移到的目标实例的ID。
    数据库账号目标实例的高权限账号。
    数据库密码目标实例的高权限账号对应的密码。
    连接方式非加密传输SSL安全连接两种连接方式,选择SSL安全加密连接会显著增加CPU消耗。
  4. 填写完毕后单击测试连接以进行下一步,在DTS服务器访问授权确定窗口中,再次单击测试连接以进行下一步
  5. 配置任务对象及高级配置步骤,选择迁移类型
    说明 为保证迁移数据的一致性,建议选择库表结构迁移+全量数据迁移+增量数据迁移
  6. 源库对象框中将想要迁移的数据库选中,单击,移动到已选择对象框。迁移
  7. 单击下一步高级配置,保持默认配置即可。
  8. 单击下一步保存任务并预检查,等待预检查结束。
    说明 如果检查失败,可以根据错误项的提示进行修复,然后重新启动任务。
  9. 单击下一步购买,在购买页,勾选《数据传输(按量付费)服务条款》并单击购买并启动
    说明 结构迁移和全量迁移任务暂不收费,增量迁移根据链路规格按小时收费。
  10. 等待迁移任务完成即可。