开发者社区> 问答> 正文

怎么将ECS上的自建MySQL数据库迁移到RDS

已解决

展开
收起
游客tfawxcvvwpnzc 2018-03-31 13:46:30 1192 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    详细解答可以参考官方帮助文档

    适用场景

    使用数据传输DTS可以实现ECS自建数据库到RDS/MongoDB/Redis/DRDS/PetaData/OceanBase实例的数据迁移。对于支持增量迁移的存储引擎,还可以使用DTS在ECS自建数据库不停服的情况下,将数据迁移到目标实例。

    本小节简单介绍使用DTS进行ECS自建数据库迁移到RDS/MongoDB/Redis/DRDS/PetaData/OceanBase等实例的数据迁移任务的配置流程。

    环境准备

    1. 创建RDS实例数据库

      如果目标实例为RDS实例,如果待迁移的数据库在目标RDS实例中不存在,那么DTS自动会创建。但是对于如下两种情况,用户需要在配置迁移任务之前,手动创建数据库。

      • 数据库名称不符合:RDS定义规范(由小写字母、数字、下划线、中划线组成,字母开头,字母或数字结尾,最长64个字符)。
      • 待迁移数据库,在ECS自建数据库跟目标RDS实例中存储名称不同。

        对于这两种情况,用户需要在配置迁移任务之前,先在RDS控制台完成数据库创建。具体参考RDS数据库创建流程

    2. 创建迁移帐号

      迁移任务配置时,需要提供ECS自建数据库及目的实例的迁移账号。

      自建数据库的存储引擎不同,账号创建及权限授权的方式不同,具体授权方式可以参考各存储引擎的官方文档。

      目的实例的迁移账号可以参考各个云产品的使用手册,进行账号创建。例如,RDS实例的迁移账号的创建流程可以参考 RDS账号创建说明

    操作步骤

    1. 以目标实例所属阿里云账号登录DTS数据传输控制台,单击右上角的创建迁移任务,开始任务配置。

    2. 设置实例连接信息。

      这个步骤主要配置迁移任务名称、源ECS连接信息及目标实例连接信息。其中:

      • 任务名称

        DTS为每个任务自动生成一个任务名称,任务名称没有唯一性要求。您可以根据需要修改任务名称,建议为任务配置具有业务意义的名称,便于后续的任务识别。

      • 源实例信息

        • 实例类型:选择 ECS上的自建数据库
        • ECS实例ID: 配置迁移的源ECS实例的实例ID。DTS支持经典网络、VPC网络的ECS实例。如果ECS实例跟目标实例在不同地域,那么ECS上面必须挂载公网EIP。
        • 数据库类型:选择ECS上自建数据库的数据库类型,例如Oracle/MySQL/SQLServer/PostgreSQL/Redis/MongoDB等。
        • 数据库名称: 如果自建数据库为PostgreSQL/MongoDB, 那么需要配置数据库名称。这个数据库名称为连接ECS自建数据库时使用的默认数据库。
        • 数据库账号:连接自建数据库的账号。
        • 数据库密码:上面数据账号对应的密码。
      • 目标实例信息

        • 实例类型: 选择要迁入的实例对应的实例类型,包括RDS/MongoDB/Redis/DRDS/PetaData/OceanBase等。
        • 实例ID: 配置迁移的目标实例的实例ID。
        • 数据库名称:如果数据库类型为PostgreSQL/PPAS/MongoDB, 那么需要配置数据库名称。这个数据库名称为连接实例时使用的默认数据库。
        • 数据库账号:连接实例的账号。
        • 数据库密码:上面数据账号对应的密码。

        下图以ECS上自建MongoDB到MongoDB实例的数据迁移为例,展示配置内容。

        ECS_RDS_步骤1

    3. 迁移类型及迁移对象选择

      • 迁移类型

        对于不同的数据库类型,DTS 支持的迁移类型不同。

        如果只需要进行全量迁移,那么迁移类型选择:结构迁移+全量数据迁移。

        对于支持增量迁移的数据库类型,如果需要进行不停机迁移,迁移类型选择:结构迁移+全量数据迁移+增量数据迁移。

      • 迁移对象

        这个步骤选择要迁移的对象。迁移对象的选择粒度细化为:库、表、列三个粒度。默认情况下,对象迁移到目标实例后,对象名跟源实例一致。如果您迁移的对象在源实例跟目标实例上名称不同,那么需要使用DTS提供的对象名映射功能,详细使用方式可以参考库表列映射

        ECS_RDS_步骤2

    4. 预检查。

      在迁移任务正式启动之前,会先进行前置预检查,只有预检查通过后,才能成功启动迁移。

      如果预检查失败,那么可以点击具体检查项后的按钮,查看具体的失败详情,并根据失败原因修复后,重新进行预检查。

      ECS_RDS_步骤3

    5. 启动迁移任务。

      当预检查通过后,可以启动迁移任务,任务启动成功后,可以在任务列表中查看迁移的具体状态及迁移进度。

      如果选择了增量迁移,那么进入增量迁移阶段后,源库的更新写入都会被DTS同步到目标实例。迁移任务不会自动结束。如果用户只是为了迁移,那么建议在增量迁移无延迟的状态时,源库停写几分钟,等待增量迁移再次进入无延迟状态后,停止掉迁移任务,直接将业务切换到目标实例上即可。

      至此,完成ECS自建数据库到目标实例的数据迁移任务的配置。

    说明:配置迁移任务时如果选择了增量迁移,那么增量迁移过程中,若用户不结束迁移,任务会一直处于迁移中。建议在业务验证通过且增量迁移无延迟的状态时,源库停写几分钟,等待增量迁移再次进入无延迟状态后,停止掉迁移任务,将业务切换到目标实例上即可。

    2018-03-31 18:16:50
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像