数据传输服务(Data Transmission Service,简称DTS)是阿里云提供的支持RDBMS、NoSQL、OLAP等多种数据源之间数据交互的数据服务。本文以MySQL数据库为例,介绍如何配置DTS迁移任务,实现ECS实例上自建数据库间的数据迁移。

前提条件

  • 在目标ECS实例的安全组中放行MySQL监听的端口。MySQL监听的默认端口号为3306。
  • 分别为源ECS实例和目标ECS实例上的MySQL数据库创建非root账号。

    例如,您可以运行以下命令为MySQL数据库创建名为dts、密码为123456的账号。

    grant all on *.*  to 'dts'@'%'  IDENTIFIED BY '123456';

背景信息

DTS提供的数据迁移功能能够支持同异构数据源之间的数据迁移,同时提供了库表列三级映射、数据过滤多种ETL特性。您可以使用DTS进行零停机迁移,在迁移过程中,源数据库正常持续提供服务,最大程度降低迁移对业务的影响。DTS支持的数据库类型请参考数据迁移

操作步骤

  1. 登录数据传输DTS控制台
  2. 在左侧导航栏,选择数据迁移
  3. 选择目标ECS实例所在地域,并单击创建迁移任务


  4. 配置迁移任务。
    1. 配置任务名称。

      您可以使用默认的名称或者自定义名称。

    2. 配置源库信息。
      参数名称 参数值
      实例类型 ECS上的自建数据库。
      实例地区 源ECS实例所在地域。
      ECS实例ID 源ECS实例的实例ID。DTS 支持经典网络及专有网络的ECS实例。
      数据库类型 源ECS实例上自建数据库的类型。本示例中,数据库类型为MySQL。
      端口 MySQL数据库监听的端口号。
      数据库账号 源ECS实例上MySQL数据库的非root账号。
      说明 数据库账号必须填写非root账号,否则测试连接时会报错。
      数据库密码 非root账号对应的密码。
    3. 单击源库信息右下角的测试连接,测试源库连接。

      当返回的结果为测试通过时,表示源库连接正常。

    4. 配置目标库信息。
      参数名称 参数值
      实例类型 ECS上的自建数据库。
      实例地区 目标ECS实例所在地域。
      ECS实例ID 目标ECS实例的实例ID。DTS 支持经典网络及专有网络的ECS实例。
      数据库类型 与源ECS实例自建数据库类型相同。本示例中,数据库类型为MySQL。
      端口 MySQL数据库监听的端口号。
      数据库账号 目标ECS实例上MySQL数据库的非root账号。
      说明 数据库账号必须填写非root账号,否则测试连接时会报错。
      数据库密码 非root账号对应的密码。
    5. 单击目标库信息右下角的测试连接,测试目标库连接。

      当返回的结果为测试通过时,表示目标库连接正常。

    6. 单击授权白名单并进入下一步
  5. 配置迁移类型及迁移对象。
    1. 配置迁移类型。
      • 业务零停机迁移,请选择:结构迁移+全量数据迁移+增量数据迁移。
      • 全量迁移,请选择:结构迁移+全量数据迁移。
    2. 配置迁移对象。

      迁移对象框中单击要迁移的数据库对象,如数据库、表或列,然后单击>添加到已选择对象框中。

      说明 默认情况下,数据库对象迁移到ECS自建MySQL实例后,对象名跟本地MySQL实例一致。如果迁移的数据库对象在源实例跟目标实例上名称不同,您需要使用DTS提供的对象名映射功能,详细信息请参考库表列映射
  6. 单击预检查并启动
    在迁移任务正式启动之前,会预检查连通性、权限及日志格式等。下图表示预检查成功通过。

    预检查通过后,您可以在迁移任务列表中查看迁移任务的迁移状态及进度。