自建MySQL通过阿里云数据传输DTS迁移至云数据库MySQL

自建MySQL迁移至云数据库MySQL

本文介绍如何使用数据传输DTS将自建MySQL数据库迁移至云数据库MySQL。

数据传输DTS支持结构迁移、全量迁移、增量迁移,你可以根据实际情况选择。

注意事项源数据库配置要求

连接方式:

  • 有公网IP的自建数据库
  • 通过专线连接的自建数据库

数据库版本:

  • MySQL5.6
  • MySQL5.7

数据库配置:

  • server_id大于1
  • binlog开启
  • binlog_format为ROW
  • binlog_row_image为FULL
  • 如选择校验数据一致性,则不能存在数据库_jdts_check__xxxx
  • 表类型为'BASETABLE',需要有主键且没有外键

账号权限:

  • GRANTRELOAD,REPLICATIONSLAVE,REPLICATIONCLIENTON.TO'user'@'%';
  • GRANTSELECTONschemas.TO'user'@'%';
  • 开启数据校验时,需要GRANTALLPRIVILEGESON_jdts_check__xxxx.TO'user'@'%';

数据库引擎:

  • 建议为InnoDB类型,全量迁移过程中,只有InnoDB等事务引擎可以保证一致性状态,MyISAM或者MEMORY等非事务引擎的状态可能不一致。

目标数据库配置要求

数据库类型:

  • 云数据库MySQL,需提前创建云数据库MySQL阿里云数据库。

数据库版本:

  • 源数据库为MySQL5.6版支持迁移为5.6/5.7版
  • 源数据库为MySQL5.7版支持迁移为5.7版

账号权限:

  • GRANTALLPRIVILEGESONschemas.TO'user'@'%';

数据要求:

  • 不能存在与待迁移数据库重名的库。
  • 不能存在数据校验库_jdts_check__xxxx。

操作步骤

  • 创建迁移任务。

    • 任务名称:名称长度不能少于2字符且不超过32个字符,只支持中文、数字、大小写字母、英文下划线及中划线。

    • 源库信息:

      • 数据库类型,选择“有公网IP的自建数据库”或“通过专线连接的自建数据库”。
      • 数据库类型,选择MySQL。
      • 数据库地址,填写数据库的域名或IP,如通过专线连接请填写内网IP。
      • 端口,数据库端口。
      • 账号和密码,请提前确认账号具备相应的权限。
    • 目标库信息:

      • 数据库类型,请选择“云数据库MySQL”
      • 地域,选择目标阿里云数据库所在地域。
      • 阿里云数据库ID,请选择目标阿里云数据库。
      • 账号和密码,请提前确认账号具备相应的权限。
    • 迁移类型

      • 请选择迁移类型,可选择结构迁移、全量迁移、增量迁移。
    • 数据一致性校验

      • 如选择全量校验,在全量数据迁移完成后,可在任务列表或详情页开启。

      • 说明:

        MySQL的全量校验为动态校验,即部分数据如已完成校验,之后该部分数据的变更将不再校验。

        MySQL数据一致性校验过程中将持续同步增量数据,但性能会降低,建议源端停止写入后再执行数据一致性校验。

    • 选择迁移对象

      • 支持按库、表迁移。

      • 源库类型为“有公网IP的自建数据库”时,支持可视化选择JSON两种方式定义要迁移的库表。

      • 源库类型为“通过专线连接的自建数据库”时,只支持通过JSON定义要迁移的库表。

      • 说明

        MySQL系统库不会迁移。

        当一个库内包含超过100个表时,不支持按表选择,只可选择当前库或通过JSON方式指定表。

  • 启动迁移任务。

    • 在任务列表页或详情页,点击启动,启动迁移任务。任务启动后,第一步将执行预检查。
    • 预检查成功后,在预检查弹窗中点击下一步,执行数据迁移。
  • 执行数据校验。

    • 如创建任务时选择了“全量校验”,则在全量数据迁移完成后可点击校验按钮,执行数据一致性校验。
    • 校验过程中将持续同步增量数据,但性能会降低,建议源端停止写入后再执行数据一致性校验。
  • 结束迁移任务。

    • 迁移类型为结构迁移、全量迁移时,数据迁移完成后,任务自动结束。

    • 迁移类型为增量迁移时,需要手动结束迁移任务,建议目的库数据追上源库时,停止源库写入,检查目的库数据无误后,结束迁移任务。

    • 注意:迁移任务结束后,将不能再次开启。