将源ECS实例上的数据库迁移至高可用版云数据库RDS,可实现数据库服务的高可用性、高可靠性、高安全性和高易用性。本教程以MySQL数据库为例,介绍如何使用DTS将ECS实例上的自建数据库迁移至RDS实例。

前提条件

  • 已配置SLB实例,详情请参见配置SLB实例
  • 已创建高可用版RDS实例。如未创建,请参见创建RDS for MySQL实例
  • 已为RDS实例创建账号。如未创建,请参见创建账号和数据库
  • 已为ECS实例上的自建数据库创建非root账号,用于DTS迁移。
    例如,您可以运行以下命令为MySQL数据库创建名为dts、密码为123456的账号。
    grant all on *.*  to 'dts'@'%'  IDENTIFIED BY '123456';

背景信息

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

操作步骤

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

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

    2. 配置源库信息。
      DTS支持通过公网、VPN网关、专线及智能网关访问的自建数据库。本教程使用的源数据库为ECS实例上的自建数据库。其他类型数据库的迁移方案,请参见DTS用户手册
      参数名称 描述
      实例类型 ECS上的自建数据库。
      实例地区 源ECS实例所在地域。
      ECS实例ID 源ECS实例的实例ID。DTS支持经典网络及专有网络的ECS实例。
      数据库类型 源ECS实例上自建数据库的类型。本示例中,数据库类型为MySQL。
      端口 MySQL数据库监听的端口号。
      数据库账号 源ECS实例上MySQL数据库的非root账号。
      说明 数据库账号必须填写非root账号,否则测试连接时会报错。
      数据库密码 非root账号对应的密码。
    3. 单击源库信息右下角的测试连接

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

    4. 配置目标库信息。
      参数名称 参数值
      实例类型 RDS实例。
      实例地区 RDS实例所在地域。
      RDS实例ID RDS实例的实例ID。
      数据库账号 RDS实例的账号。 为RDS实例创建账号,请参见创建账号和数据库
      说明 数据库账号必须填写非root账号,否则测试连接时会报错。
      数据库密码 账号对应的密码。
    5. 单击目标库信息右下角的测试连接

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

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

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

      说明

      默认情况下,数据库对象迁移到ECS自建MySQL实例后,对象名跟本地MySQL实例一致。如果迁移的数据库对象在源实例跟目标实例上名称不同,您需要使用DTS提供的对象名映射功能,详情请参见库表列映射

  6. 单击预检查并启动
    在迁移任务正式启动之前,会预检查连通性、权限及日志格式等。下图表示预检查成功通过。
    迁移自建数据库至RDS实例_部署高可用架构_最佳实践_云服务器 ECS 阿里云技术文档 第1张
    预检查通过后,您可以在迁移任务列表中查看迁移任务的迁移状态及进度。
    迁移自建数据库至RDS实例_部署高可用架构_最佳实践_云服务器 ECS 阿里云技术文档 第2张

后续步骤

在应用程序中配置RDS实例的连接地址和账号密码,以连接到RDS实例。您还可以使用数据管理服务DMS(Data Management Service)或客户端管理RDS实例。具体操作,请参见连接MySQL实例