全部产品
Search
文档中心

:一键迁移RDS MySQL 三节点企业系列至PolarDB-X 2.0标准版的方案概述

更新时间:Aug 21, 2024

本文介绍了一键迁移RDS MySQL 三节点企业系列实例至PolarDB-X 2.0标准版实例的方案简介、前提条件、使用限制、收费规则等。

迁移方案概述

RDS MySQL 三节点企业系列实例一键迁移至PolarDB-X 2.0标准版实例,整个过程中将自动为您创建目标端PolarDB-X 2.0标准版实例并同步数据。迁移后的PolarDB-X 2.0标准版实例包含源RDS MySQL 三节点企业系列实例的账号信息、数据库、IP白名单和必要的参数。

说明

RDS MySQL 三节点企业系列实例一键迁移至PolarDB-X 2.0标准版实例,主要采用逻辑迁移(DTS数据同步)方式实现。

逻辑迁移(DTS数据同步)方式:通过数据传输服务DTS,创建数据同步任务,将源RDS MySQL 三节点企业系列实例的库表结构和全量数据同步至创建的PolarDB-X 2.0标准版实例中,然后保持增量数据同步。

支持迁移的RDS MySQL 三节点企业系列实例的数据库引擎版本和存储类型如下:

数据库引擎

存储类型

MySQL 5.6、MySQL 5.7MySQL 8.0

本地盘

迁移方案优势

一键迁移方案具有如下优势:

  • 可保留数据库原连接地址,无需应用程序修改任何连接配置即可切换至PolarDB-X 2.0标准版实例。

  • 迁移过程完全免费。

  • 迁移过程数据0丢失。

  • 支持增量迁移。

  • 支持在线热迁移,迁移过程仅闪断一次(即当业务从RDS MySQL 三节点企业系列实例切换至PolarDB-X 2.0标准版实例时)。

  • 支持手动切换连接地址。切换时需要停止业务写入,时间可以根据实际情况自行控制,通常在10分钟以内完成。

  • 支持回滚,迁移失败可以在10分钟内恢复。

前提条件

  • RDS MySQL 三节点企业系列实例的表存储引擎类型为InnoDBX-Engine

  • 如果RDS MySQL 三节点企业系列实例处于高安全模式(数据库代理模式),需要创建有高权限账号(请参见创建账号),或者切换到高性能模式(参见【产品/功能变更】RDS网络链路升级说明),才能进行一键迁移。

使用限制

  • 仅支持将RDS MySQL 三节点企业系列实例一键迁移至相同版本或更高版本的PolarDB-X 2.0标准版实例,不支持降版本迁移。

  • 带地址切换中,当前不支持IPv6地址的带地址切换。

  • 逻辑迁移(DTS数据同步)方式的使用限制如下:

    • 暂不支持跨地域迁移。

    • 迁移期间不允许对源RDS MySQL 三节点企业系列实例执行参数设置的操作。

    • 仅支持迁移库、表、视图、存储过程、函数这五类结构。

      说明

      RDS MySQL 三节点企业系列实例的账号信息、IP白名单和必要的参数的迁移工作由PolarDB-X完成,而非数据传输服务DTS

    • 对源库有如下限制:

      类型

      说明

      源库限制

      • 待同步的表需具备主键或唯一约束,且字段具有唯一性,否则可能会导致目标数据库中出现重复数据。

        • 如同步对象为表级别,且需进行编辑(如表列名映射),则单次同步任务仅支持同步至多1000张表。当超出数量限制,任务提交后会显示请求报错,此时建议您拆分待同步的表,分批配置多个任务,或者配置整库的同步任务。

        • Binlog日志:

          • 需开启Binlog,开启方法请参见设置实例参数,并且binlog_row_image为full。否则,在预检查阶段就会提示报错,且无法成功启动数据同步任务。

          • 如为增量同步任务,DTS要求源数据库的本地Binlog日志保存24小时以上,如为全量同步和增量同步任务,DTS要求源数据库的本地Binlog日志至少保留7天以上(您可在全量同步完成后将Binlog保存时间设置为24小时以上),否则DTS可能因无法获取Binlog而导致任务失败,极端情况下甚至可能会导致数据不一致或丢失。由于您所设置的Binlog日志保存时间低于DTS要求的时间进而导致的问题,不在DTS的SLA保障范围内。如源为RDS MySQL 三节点企业系列实例,具体操作请参见管理本地日志(Binlog)

    • SQL语句限制:

      操作类型

      SQL语句

      DML

      INSERTUPDATEDELETE

      DDL

      • ALTER TABLEALTER VIEW

      • CREATE FUNCTIONCREATE INDEXCREATE PROCEDURECREATE TABLECREATE VIEW

      • DROP INDEXDROP TABLE

      • RENAME TABLE

      • TRUNCATE TABLE

    • 其他限制:

      类型

      说明

      其他限制

      • 执行数据同步前需评估源库和目标库的性能,同时建议业务低峰期执行数据同步。否则全量数据初始化时将占用源库和目标库一定的读写资源,可能会导致数据库的负载上升。

      • 全量初始化会并发执行INSERT操作,导致目标数据库的表产生碎片,因此全量初始化完成后目标实例的表空间比源实例的表空间大。

      • 在DTS同步期间,不允许有除DTS外的数据写入目标库,否则会导致源库与目标库数据不一致。例如,有除DTS外的数据写入目标库时,使用DMS执行在线DDL变更,可能引起目标库数据丢失。

      • DTS默认同步到目标数据库时会取消外键约束,因此源数据库的级联、删除等操作不会同步到目标数据库。

注意事项

RDS MySQL 三节点企业系列实例和目标PolarDB-X 2.0标准版实例对应连接地址的SSL开启状态需保持一致:

  • 如果源RDS MySQL 三节点企业系列实例的连接地址开启了SSL,并且您选择带地址切换并切换该地址,请确保PolarDB-X 2.0标准版实例对应的连接地址同样已开启SSL

  • 如果源RDS MySQL 三节点企业系列实例的连接地址未开启SSL,则请确保目标PolarDB-X 2.0标准版实例对应连接地址的SSL功能也保持关闭。

收费规则

一键迁移方案中,迁移过程完全免费,仅收取目标PolarDB-X 2.0标准版实例的费用。

备份策略说明

PolarDB-X 2.0标准版实例的常规备份周期、备份开始时间与RDS MySQL 三节点企业系列实例的常规备份周期、备份开始时间保持一致。

迁移完成后,您可以修改PolarDB-X 2.0标准版实例的备份策略。

带地址切换

一键迁移RDS MySQL 三节点企业系列实例至PolarDB-X 2.0标准版实例时支持带地址切换,系统会自动交换RDS MySQL 三节点企业系列实例和PolarDB-X 2.0标准版实例上的连接地址,您无需在应用程序端修改任何配置即可自动连接到PolarDB-X 2.0标准版实例。选择该切换方式后,RDS MySQL 三节点企业系列实例连接地址对应的PolarDB-X 2.0标准版实例连接地址如下图所示。

image

使用带地址切换功能时,需注意以下几点:

  • 带地址切换只会切换RDS MySQL 三节点企业系列实例和PolarDB-X 2.0标准版实例的连接地址,vSwitch、VIP等配置不会切换。

  • 仅当源RDS MySQL 三节点企业系列实例和目标PolarDB-X 2.0标准版实例同时存在的连接地址才支持相互切换,默认情况下仅私网主地址支持带地址切换。

  • 当前不支持IPv6的地址带地址切换。

  • 带地址切换不会切换端口,请确保RDS MySQL 三节点企业系列实例和PolarDB-X 2.0标准版实例的连接端口一致(RDS MySQL 三节点企业系列实例和PolarDB-X 2.0标准版实例默认使用的端口号均为3306),如需修改端口,请参见查看和管理实例连接地址和端口

  • 切换连接地址后,可能会存在DNS解析缓存问题,在缓存过期时间内可能会出现连接不上数据库或数据库只支持读操作无法执行写入操作等情况,建议您刷新一下服务器的DNS缓存。

    说明

    请根据您服务器实际操作系统及版本进行DNS刷新操作。以Alibaba Cloud Linux 2/3为例,可以使用如下方式进行主动刷新DNS缓存:

    1. 首先,请检查systemd-resolved是否正在运行。如果服务正在运行,您将会看到类似于Active: active (running)的状态信息。

      sudo systemctl status systemd-resolved
    2. 刷新systemd-resolved的DNS缓存。

      sudo systemd-resolve --flush-caches
  • 切换连接地址后,如果您需要使用DMS登录PolarDB-X 2.0标准版实例数据库,必须使用新版本的DMS并且使用PolarDB-X 2.0标准版实例ID来进行登录,使用连接串地址无法登录。