本文介绍如何使用数据传输服务DTS(Data Transmission Service),将RDS PostgreSQL迁移至RDS MySQL。DTS支持全量数据迁移和增量数据迁移,同时使用这两种迁移类型可以实现在业务不停服的情况下,平滑地完成数据库的迁移。
支持的源和目标数据库
PostgreSQL与MySQL间的迁移,支持以下源或目标数据库。本文以RDS PostgreSQL实例为源数据库、以RDS MySQL实例为目标数据库介绍配置流程,其他数据源配置流程与本案例类似。
- RDS PostgreSQL迁移至RDS MySQL。
- 自建PostgreSQL迁移至自建MySQL。
费用说明
迁移类型 |
链路配置费用 |
公网流量费用 |
全量数据迁移 |
不收费。 |
通过公网将数据迁移出阿里云时将收费,详情请参见产品定价。
|
增量数据迁移 |
收费,详情请参见产品定价。
|
支持增量迁移的SQL操作
操作类型 |
SQL操作语句 |
DML |
INSERT、UPDATE、DELETE |
数据库账号的权限要求
数据库 |
全量迁移 |
增量迁移 |
账号创建及授权方法 |
RDS PostgreSQL实例
|
迁移对象的SELECT权限。 |
高权限账号,且需为所选数据库的owner(授权账号)。
说明 当源实例为RDS PostgreSQL 9.4,且仅需增量迁移DML操作时,账号具备REPLICATION权限即可。
|
创建账号和创建数据库。
|
RDS MySQL实例
|
读写权限 |
创建账号和修改账号权限。
|
操作步骤
- 登录新版DTS迁移任务的列表页面。
- 在页面左上角,选择迁移实例所属地域。
- 单击创建任务,配置源库及目标库信息。
警告 选择源和目标实例后,建议您仔细阅读页面上方显示的使用限制,以成功创建并执行迁移任务。

类别 |
配置 |
说明 |
无 |
任务名称 |
DTS会自动生成一个任务名称,建议配置具有业务意义的名称(无唯一性要求),便于后续识别。
|
源库信息 |
数据库类型 |
选择PostgreSQL。
|
接入方式 |
选择阿里云实例。
|
实例地区 |
选择源RDS PostgreSQL实例所属地域。
|
实例ID |
选择源RDS PostgreSQL实例ID。
|
数据库名称 |
填入源RDS PostgreSQL实例中迁移对象所属数据库的名称。
|
数据库账号 |
填入源RDS PostgreSQL实例的数据库账号,权限要求请参见数据库账号的权限要求。
|
数据库密码 |
填入该数据库账号对应的密码。
|
目标库信息 |
数据库类型 |
选择MySQL。
|
接入方式 |
选择阿里云实例。
|
实例地区 |
选择目标RDS MySQL实例所属地域。
|
RDS实例ID |
选择目标RDS MySQL实例ID。
|
数据库账号 |
填入目标RDS MySQL实例的数据库账号,权限要求请参见数据库账号的权限要求。
|
数据库密码 |
填入该数据库账号对应的密码。
|
连接方式 |
根据需求选择非加密连接或SSL安全连接。如果设置为SSL安全连接,您需要提前开启RDS MySQL实例的SSL加密功能,详情请参见设置SSL加密。
|
- 配置完成后,单击页面右下角的测试连接以进行下一步。
警告
- 如果源或目标数据库是阿里云数据库实例(例如RDS MySQL、云数据库MongoDB版等)或ECS上的自建数据库,DTS会自动将对应地区DTS服务的IP地址添加到阿里云数据库实例的白名单或ECS的安全规则中,您无需手动添加,请参见DTS服务器的IP地址段;如果源或目标数据库是IDC自建数据库或其他云数据库,则需要您手动添加对应地区DTS服务的IP地址,以允许来自DTS服务器的访问。
- 上述场景中,DTS自动添加或您手动添加DTS服务的公网IP地址段可能会存在安全风险,一旦使用本产品代表您已理解和确认其中可能存在的安全风险,并且需要您做好基本的安全防护,包括但不限于加强账号密码强度防范、限制各网段开放的端口号、内部各API使用鉴权方式通信、定期检查并限制不需要的网段,或者使用通过内网(专线/VPN网关/智能网关)的方式接入。
- DTS任务完成或释放后,建议您手动检测并删除DTS相关的服务器IP地址段。
- 配置任务对象及高级配置。
- 基础配置

配置 |
说明 |
任务步骤 |
- 如果只需要进行全量迁移,请选中全量迁移。
- 如果需要进行不停机迁移,请同时选中全量迁移和增量迁移。
说明 如果未选择增量迁移,为保障数据一致性,数据迁移期间请勿在源实例中写入新的数据。
|
目标已存在表的处理模式 |
|
同步对象 |
在同步对象框中单击待迁移的对象,然后单击 将其移动到已选择对象框。
|
映射名称更改 |
- 如需更改单个迁移对象在目标实例中的名称,请右击已选择对象中的迁移对象,设置方式,请参见库表列名单个映射。
- 如需批量更改迁移对象在目标实例中的名称,请单击已选择对象方框右上方的
设置方式,请参见库表列名批量映射。
说明 如果使用了对象名映射功能,可能会导致依赖这个对象的其他对象迁移失败。
|
过滤待迁移数据 |
支持设置条件过滤数据,详情请参见通过SQL条件过滤任务数据。
|
增量迁移的SQL操作 |
选择增量迁移SQL操作,请右击已选择对象中的迁移对象,在弹跳框中选择所需增量迁移的SQL操作。支持的操作,请参见支持增量迁移的SQL操作。
|
- 高级配置

配置 |
说明 |
设置告警 |
是否设置告警,当迁移失败或延迟超过阈值后,将通知告警联系人。
- 不设置:不设置告警。
- 设置:设置告警,您还需要设置告警阈值和告警联系人。
|
源、目标库无法连接重试时间 |
默认重试720分钟,您也可以在取值范围(10~720分钟)内自定义重试时间,建议设置30分钟以上。如果DTS在设置的时间内重新连接上源、目标库,同步任务将自动恢复。否则,同步任务将失败。
说明
- 针对同源或者同目标的多个DTS实例,网络重试时间以后创建任务的设置为准。
- 由于连接重试期间,DTS将收取任务运行费用,建议您根据业务需要自定义重试时间,或者在源和目标库实例释放后尽快释放DTS实例。
|
- 上述配置完成后,单击页面右下角的下一步保存任务并预检查。
说明
- 在迁移任务正式启动之前,会先进行预检查。只有预检查通过后,才能成功启动迁移任务。
- 如果预检查失败,单击具体检查项后的
,查看失败详情。
- 您可以根据提示修复后重新进行预检查。
- 如无需修复告警检测项,您也可以选择确认屏蔽、忽略告警项并重新进行预检查,跳过告警检测项重新进行预检查。
- 预检查通过率显示为100%时,单击下一步购买。
- 在购买页面,选择数据迁移实例的链路规格,详细说明请参见下表。
类别 |
参数 |
说明 |
信息配置 |
链路规格 |
DTS为您提供了不同性能的迁移规格,迁移链路规格的不同会影响迁移速率,您可以根据业务场景进行选择,详情请参见数据迁移链路规格说明。
|
- 配置完成后,阅读并选中《数据传输(按量付费)服务条款》。
- 单击购买并启动,迁移任务正式开始,您可在数据迁移界面查看具体进度。