将源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支持的数据库类型请参见数据迁移。
操作步骤
- 登录数据传输DTS控制台。
- 在左侧导航栏,选择数据迁移。
- 选择目标RDS实例所在地域,并单击创建迁移任务。
- 配置迁移任务。
- 配置任务名称。
- 配置源库信息。
DTS支持通过公网、VPN网关、专线及智能网关访问的自建数据库。本教程使用的源数据库为ECS实例上的自建数据库。其他类型数据库的迁移方案,请参见
DTS用户手册。
参数名称 |
描述 |
实例类型 |
ECS上的自建数据库。 |
实例地区 |
源ECS实例所在地域。 |
ECS实例ID |
源ECS实例的实例ID。DTS支持经典网络及专有网络的ECS实例。 |
数据库类型 |
源ECS实例上自建数据库的类型。本示例中,数据库类型为MySQL。 |
端口 |
MySQL数据库监听的端口号。 |
数据库账号 |
源ECS实例上MySQL数据库的非root账号。
说明 数据库账号必须填写非root账号,否则测试连接时会报错。
|
数据库密码 |
非root账号对应的密码。 |
- 单击源库信息右下角的测试连接。
- 配置目标库信息。
参数名称 |
参数值 |
实例类型 |
RDS实例。 |
实例地区 |
RDS实例所在地域。 |
RDS实例ID |
RDS实例的实例ID。 |
数据库账号 |
RDS实例的账号。 为RDS实例创建账号,请参见创建账号和数据库。
说明 数据库账号必须填写非root账号,否则测试连接时会报错。
|
数据库密码 |
账号对应的密码。 |
- 单击目标库信息右下角的测试连接。
- 单击授权白名单并进入下一步。
- 配置迁移类型及迁移对象。
- 配置迁移类型。
- 业务零停机迁移,请选择:结构迁移+全量数据迁移+增量数据迁移。
- 全量迁移,请选择:结构迁移+全量数据迁移。
- 配置迁移对象。
在迁移对象框中单击要迁移的数据库对象,如数据库、表或列,然后单击>添加到已选择对象框中。
说明
默认情况下,数据库对象迁移到ECS自建MySQL实例后,对象名跟本地MySQL实例一致。如果迁移的数据库对象在源实例跟目标实例上名称不同,您需要使用DTS提供的对象名映射功能,详情请参见库表列映射。
- 单击预检查并启动。
在迁移任务正式启动之前,会预检查连通性、权限及日志格式等。下图表示预检查成功通过。
预检查通过后,您可以在
迁移任务列表中查看迁移任务的迁移状态及进度。
后续步骤
在应用程序中配置RDS实例的连接地址和账号密码,以连接到RDS实例。您还可以使用数据管理服务DMS(Data Management Service)或客户端管理RDS实例。具体操作,请参见连接MySQL实例。
评论