本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
数据传输服务(Data Transmission Service,简称DTS)是阿里云提供的支持RDBMS、NoSQL、OLAP等多种数据源之间数据交互的数据服务。本文以MySQL数据库为例,介绍如何配置DTS迁移任务,实现ECS实例上自建数据库间的数据迁移。
背景信息
DTS提供的数据迁移功能支持同异构数据源之间的迁移,具备库表列三级映射和数据过滤等ETL特性。您可以使用DTS进行零停机迁移,源数据库在迁移过程中正常提供服务,最大程度降低对业务的影响。关于DTS支持的数据库类型,请参见数据迁移。
实现ECS实例上自建数据库间的数据迁移,其示意图如下所示。
前提条件
在目标ECS实例的安全组中放行MySQL监听的端口(默认端口号为3306)。具体操作,请参见添加安全组规则。
分别为源ECS实例和目标ECS实例上的MySQL数据库创建非root账号,例如迁移账号dts。
例如,您可以运行以下命令为MySQL数据库创建名为
dts、密码为Test@123456的账号:# 第一步:创建用户并设置密码 CREATE USER 'dts'@'%' IDENTIFIED BY 'Test@123456'; # 第二步:授予权限 GRANT ALL PRIVILEGES ON *.* TO 'dts'@'%'; # 第三步:刷新权限 FLUSH PRIVILEGES;
注意事项
使用数据传输服务DTS迁移自建数据库,DTS对于不同数据库版本支持程度不同,部分数据库版本存在限制。请参考DTS迁移方案概览获取支持的版本情况和最佳方案。
操作步骤
登录数据传输DTS控制台。
在左侧导航栏,单击数据迁移。
选择ECS实例所在地域,并单击创建任务。
配置源数据库和目标数据库信息。
配置任务名称。
DTS会自动生成一个任务名称,建议配置具有业务意义的名称(无唯一性要求),便于后续识别。您可以使用默认的名称或自定义名称。
配置源库信息。
DTS支持通过公网、VPN网关、专线及智能网关访问的自建数据库。本文以公网自建数据库为例介绍配置信息。其他类型数据库的迁移方案,请参见迁移方案概览。
参数名称
参数值
数据库类型
源ECS实例上自建数据库的类型。本示例中,数据库类型为MySQL。
接入方式
根据源库的部署位置进行选择,本示例中选择有公网IP的ECS自建数据库。
实例地区
源ECS实例上自建数据库所在的地域。本示例中,地域选择华东1(杭州)。
是否跨阿里云账号
支持对不同阿里云账号下的实例配置数据迁移或同步,实现跨阿里云账号的数据迁移或同步。本示例选择不跨账号。
ECS实例ID
选择所需同步的数据实例。
端口
MySQL数据库监听的端口号(默认为3306)。
数据库账号
源ECS实例上MySQL数据库的非root访问账号。 例如迁移账号
dts。重要数据库账号必须填写非root账号,否则测试连接时会报错。
数据库密码
账号对应的密码。
配置目标库信息。
参数名称
参数值
数据库类型
与源ECS实例上的自建数据库类型相同。本示例中,数据库类型为MySQL。
接入方式
选择有公网IP的ECS自建数据库。
实例地区
目标ECS实例所在地域。本示例中,地域选择华北2(北京)。
ECS实例ID
目标ECS实例的实例ID。DTS支持经典网络和专有网络的ECS实例。
端口
MySQL数据库监听的端口号(默认为3306)。
数据库账号
目标ECS实例上MySQL数据库的非root账号。 例如迁移账号
dts。说明数据库账号必须填写非root账号,否则测试连接时会报错。
数据库密码
账号对应的密码。
如果您的自建数据库具备白名单安全设置,您需要复制弹跳框中的DTS服务器IP地址,并加入自建数据库的白名单安全设置中。然后单击测试连接。
警告DTS自动添加或您手动添加DTS服务的公网IP地址段可能会存在安全风险,一旦使用本产品代表您已理解和确认其中可能存在的安全风险,并且需要您做好基本的安全防护,包括但不限于加强账号密码强度防范、限制各网段开放的端口号、内部各API使用鉴权方式通信、定期检查并限制不需要的网段,或者通过内网(专线/VPN网关/智能网关)的方式接入。
配置迁移类型、迁移对象、触发器迁移方式等参数。
配置迁移类型。
业务不停止且持续有数据写入数据库时:请同时选择库表结构迁移、全量迁移、增量迁移。
说明如果没有选择增量数据迁移,为保障数据一致性,数据迁移期间,请勿在源库中写入新的数据。
业务已停止或者没有数据写入数据库时:请同时选择库表结构迁移和全量迁移。
配置迁移对象。
在源库对象框中单击要迁移的数据库对象(例如数据库、表或列),然后单击
图标,添加要迁移的数据库对象到已选择对象框中。说明默认情况下,数据库对象迁移到ECS自建MySQL实例后,对象名和源MySQL实例一致。如果迁移的数据库对象在源实例和目标实例上名称不同,您需要使用DTS提供的对象名映射功能。更多信息,请参见库表列映射。
按照向导,完成其他配置,预检查通过,购买并付费后,即可启动迁移。
在迁移任务正式启动之前,会预先检查连通性、权限及日志格式等。下图表示预检查成功通过。

您可以在迁移任务页面的列表中查看迁移任务的迁移状态和进度。
