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

前提条件

  • 创建ECS实例。具体操作步骤,请参见使用向导创建实例
  • 在ECS实例的安全组中放行MySQL监听的端口号。MySQL监听的默认端口号为3306。
  • 在ECS实例上安装MySQL数据库。
  • 为ECS实例上的MySQL数据库创建非root账号。

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

    grant all on *.*  to 'dts'@'%'  IDENTIFIED BY '123456';
  • 为本地MySQL数据库创建非root账号。

背景信息

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

操作步骤

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

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

    2. 配置源库信息。

      DTS支持通过公网、VPN网关、专线及智能网关访问的自建数据库。本文以公网自建数据库为例介绍配置信息。其他类型数据库的迁移方案请参考DTS用户手册。

      参数名称参数值
      数据库类型本地数据库的类型。选择MySQL
      接入方式有公网IP的自建数据库。选择公网IP
      实例地区本地数据库所在的地域。
      主机名或IP地址本地数据库所在主机的主机名或IP地址。
      端口MySQL数据库监听的端口号。
      数据库账号本地MySQL数据库的非root访问账号。
      说明 数据库账号必须填写非root账号,否则测试连接时会报错。
      数据库密码非root账号对应的密码。
    3. 配置完成后,单击页面下方的测试连接以进行下一步
    4. 配置目标库信息。
      参数名称参数值
      数据库类型与本地自建数据库的类型相同。选择MySQL
      接入方式选择ECS自建数据库
      实例地区ECS实例所在地域。
      ECS实例IDECS实例的实例ID。DTS 支持经典网络及专有网络的ECS实例。
      端口MySQL数据库监听的端口号。
      数据库账号ECS实例上MySQL数据库的非root账号。
      说明 数据库账号必须填写非root账号,否则测试连接时会报错。
      数据库密码非root账号对应的密码。
      连接方式选择以下一种连接方式。
      • 非加密连接。
      • SSL安全连接。
    5. 配置完成后,单击页面下方的测试连接以进行下一步
  5. 配置迁移类型及迁移对象。
    1. 配置迁移类型。
      • 业务零停机迁移,请选择:结构迁移+全量数据迁移+增量数据迁移。
      • 全量迁移,请选择:结构迁移+全量数据迁移。
    2. 配置迁移对象。

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

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