ECS实例自建数据库间迁移

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

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

前提条件

  • 在目标ECS实例的安全组中放行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. 配置任务名称。

      DTS会自动生成一个任务名称,建议配置具有业务意义的名称(无唯一性要求),便于后续识别。您可以使用默认的名称或自定义名称。

    2. 配置源库信息。

      说明

      如果您已创建DMS数据库实例,可通过选择已有的实例快速配置源库信息。

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

      参数名称

      参数值

      数据库类型

      源ECS实例上自建数据库的类型。本示例中,数据库类型为MySQL

      接入方式

      根据源库的部署位置进行选择,本示例中选择有公网IP的ECS自建数据库

      实例地区

      源ECS实例上自建数据库所在的地域。本示例中,地域选择华东1(杭州)

      是否跨阿里云账号

      支持对不同阿里云账号下的实例配置数据迁移或同步,实现跨阿里云账号的数据迁移或同步。本示例选择不跨账号

      ECS实例ID

      选择所需同步的数据实例。

      端口

      MySQL数据库监听的端口号(默认为3306)。

      数据库账号

      源ECS实例上MySQL数据库的非root访问账号。

      重要

      数据库账号必须填写非root账号,否则测试连接时会报错。

      数据库密码

      非root账号对应的密码。

    3. 配置目标库信息。

      说明

      如果您已创建DMS数据库实例,可通过选择已有的实例快速配置源库信息。

      参数名称

      参数值

      数据库类型

      与源ECS实例上的自建数据库类型相同。本示例中,数据库类型为MySQL

      接入方式

      选择有公网IP的ECS自建数据库

      实例地区

      目标ECS实例所在地域。本示例中,地域选择华东2(北京)

      ECS实例ID

      目标ECS实例的实例ID。DTS支持经典网络和专有网络的ECS实例。

      端口

      MySQL数据库监听的端口号(默认为3306)。

      数据库账号

      目标ECS实例上MySQL数据库的非root账号。

      说明

      数据库账号必须填写非root账号,否则测试连接时会报错。

      数据库密码

      非root账号对应的密码。

    4. 配置完成后,单击页面下方的测试连接以进行下一步

    5. 如果您的自建数据库具备白名单安全设置,您需要复制弹跳框中的DTS服务器IP地址,并加入自建数据库的白名单安全设置中。然后单击测试连接以进行下一步

      警告

      DTS自动添加或您手动添加DTS服务的公网IP地址段可能会存在安全风险,一旦使用本产品代表您已理解和确认其中可能存在的安全风险,并且需要您做好基本的安全防护,包括但不限于加强账号密码强度防范、限制各网段开放的端口号、内部各API使用鉴权方式通信、定期检查并限制不需要的网段,或者使用通过内网(专线/VPN网关/智能网关)的方式接入。

  5. 配置迁移类型和迁移对象。

    1. 配置迁移类型。

      • 业务不停机迁移:请同时选择结构迁移全量数据迁移增量数据迁移

        说明

        如果没有选择增量数据迁移,为保障数据一致性,数据迁移期间,请勿在源库中写入新的数据。

      • 全量迁移:请同时选择结构迁移全量数据迁移

    2. 配置迁移对象。

      迁移对象框中单击要迁移的数据库对象(例如数据库、表或列),然后单击2023-09-08_17-04-13.png图标,添加要迁移的数据库对象到已选择对象框中。

      说明

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

  6. 完成上述配置后,单击预检查并启动

    在迁移任务正式启动之前,会预先检查连通性、权限及日志格式等。下图表示预检查成功通过。

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