PolarDB支持将RDS MySQL一键升级至PolarDB MySQL,升级后PolarDB集群包含源RDS实例的账号、数据库、IP白名单和必要的参数。

前提条件

  • 源RDS实例版本为RDS MySQL 5.6高可用版。
  • RDS内核小版本为20190130以上版本。关于如何升级内核小版本,请参见升级内核小版本
    说明 您可以执行show variables like '%rds_release_date%';命令查看RDS的内核小版本。
  • 源RDS实例未开启TDESSL
  • 源RDS实例的表存储引擎为InnoDB。
  • 如果RDS处于高安全模式(数据库代理模式),需要创建有高权限账号(请参见创建高权限账号),或者切换到高性能模式(参见【重要】RDS网络链路升级说明),才能进行一键升级。查看数据库模式

背景信息

PolarDB是阿里云自研的下一代关系型云数据库,主要优势如下:
  • 存储容量高:最高可达100TB。
  • 性能高:最高可以提升至MySQL的6倍。
  • Serverless存储:存储容量无需提前购买,自动扩缩容,按使用量计费。
  • 临时升配:临时升级规格,轻松应对短期的业务高峰。
说明 更多详情,请参见产品优势

一键升级功能可以将RDS MySQL一键升级为PolarDB MySQL,升级后PolarDB集群包含源RDS实例的账号、数据库、IP白名单和必要的参数。一键升级的主要优势如下:

  • 迁移完全免费。
  • 迁移过程数据0丢失。
  • 支持增量迁移,停机时间小于10分钟。
  • 支持回滚,迁移失败可以在10分钟内恢复。
  • 支持带地址切换,可以在不修改应用程序的连接配置情况下切到PolarDB

功能限制

  • 暂不支持跨地域迁移。
  • 迁移期间不允许对源RDS实例执行参数设置的操作。

费用

从RDS迁移到PolarDB操作完全免费,您只需承担购买PolarDB集群的费用,详情请参见规格与定价

迁移流程介绍

步骤 说明
1、从RDS迁移 本操作将创建一个与源RDS实例数据相同的PolarDB集群,源RDS实例的增量数据会实时同步到该PolarDB集群。
2、迁移切换
  • 在执行迁移切换时,您可以选择带连接切换,系统会自动交换RDS和PolarDB上的连接地址(PolarDB集群上需具备对应的连接地址,例如经典网络或公网地址),您无需在应用程序端修改任何配置即可自动连接到PolarDB
  • 执行本操作后,源RDS实例为只读状态,PolarDB集群为可读可写状态,同时会将PolarDB集群的新增数据同步到源RDS实例。
说明 迁移切换完成后,如果您发现数据存在异常等问题,可以执行迁移回滚,快速恢复至迁移前的状态。
3、完成迁移
  • 您可以观察一段时间后确认业务运行正常,再执行本操作(需要在7天内完成)。
  • 执行本操作后,PolarDB集群和源RDS实例间的数据同步关系将中断,此时RDS为可读可写状态。

步骤一:从RDS迁移

本操作将创建一个与源RDS实例数据相同的PolarDB集群,源RDS实例的增量数据会实时同步到该PolarDB集群。
  1. 登录PolarDB控制台
  2. 在控制台左上角,选择集群所在地域。
  3. 单击创建新集群
    说明 您也可以登录RDS管理控制台,找到并单击实例ID,然后单击右上角的升级为POLARDB,按照下述步骤完成新集群的创建。
  4. 选择包年包月按量付费页签。
  5. 设置如下参数。
    参数 说明
    地域 选择源RDS MySQL实例所在地域。
    说明 新建的PolarDB集群也在此地域。
    创建方式 选择从RDS迁移。 即从RDS实例克隆一个PolarDB集群,同时保持数据同步。默认开启新集群的Binlog。
    源RDS引擎 源RDS实例的引擎类型,不可变更。
    源RDS版本 源RDS实例的版本,不可变更。
    源RDS实例 选择源RDS实例,不包括只读实例。
    主可用区

    可用区是地域中的一个独立物理区域,不同可用区之间没有实质性区别。

    您可以选择将PolarDB集群与ECS创建在同一可用区或不同的可用区。

    您只需要选择主可用区,系统会自动选择备可用区。

    网络类型 PolarDB集群的网络类型,不可变更。
    VPC网络

    VPC交换机

    PolarDB集群所属的VPC和虚拟交换机。请确保PolarDB集群与需要连接的ECS创建于同一个VPC,否则它们无法通过内网互通,无法发挥最佳性能。
    兼容性 PolarDB集群的数据库引擎,不可变更。
    系列 固定为标准版,不可变更。
    节点规格 按需选择,建议不低于源RDS实例规格。所有PolarDB节点均为独享型,性能稳定可靠。详情请参见规格与定价
    节点个数 无需选择。系统将自动创建一个与主节点规格相同的只读节点。
    存储费用 无需选择容量,根据实际数据使用量按小时计费。详情请参见规格与定价
    时区 设置时区信息,默认为UTC+08:00。
    表名大小写 设置表名是否区分大小写。
    警告 集群创建后无法修改,请谨慎选择。
    删除(释放)集群时 设置删除集群时的备份保留策略。
  6. 设置购买时长(仅针对包年包月集群),然后单击右侧的立即购买
  7. 确认订单信息,阅读并选中服务协议,单击去开通,完成支付。
  8. 登录PolarDB控制台,查看新建的PolarDB集群的状态。
    说明
    • 集群创建后开始从RDS实例同步数据,您需要在7天内进行完成迁移操作,超过7天将自动关闭迁移功能。
    • 您可以在此步骤选择取消迁移,相关影响请参见迁移常见问题

步骤二:迁移切换

在迁移切换前,需先满足如下条件:

  1. 进入PolarDB控制台
  2. 找到目标集群,单击集群的ID。
  3. 基本信息页面单击迁移切换,在弹出的对话框中单击确定
    迁移切换
    说明 切换过程一般小于5分钟。
    本操作将交换源RDS实例和目标PolarDB集群的读写状态(即将源RDS实例修改为只读,将PolarDB集群修改为可读可写),同时会更换复制方向(即将PolarDB集群的新增数据同步到RDS实例)。
  4. 开始切换对话框中,选择带地址切换(应用程序不用改连接配置)不带地址切换(应用程序需要改为新的PolarDB连接配置)
    开始切换
    若您选择带地址切换(应用程序不用改连接配置),操作步骤如下:
    1. 选中带地址切换(应用程序不用改连接配置),系统会自动交换RDS和PolarDB上的连接地址,您无需在应用程序端修改任何配置即可自动连接到PolarDB。选择该切换方式后,RDS连接地址对应的PolarDB连接地址如下图所示。
      地址交换规则
      注意
      • 带地址切换只会切换RDS和PolarDB的域名,Vswitch、Vip等配置不会切换。
      • 仅当源RDS和目标PolarDB集群同时存在的连接地址才支持相互切换,默认情况下仅私网主地址支持带地址切换。
      • 如需切换其他连接地址,您需在切换前创建好对应的连接地址,否则不会切换。关于如何为PolarDB集群和RDS实例创建连接地址,请参见新增自定义集群地址设置连接地址
      • 带地址切换不会切换端口,请确保RDS和PolarDB的连接端口一致,修改RDS端口请参见查看或修改内外网地址和端口,修改PolarDB端口请参见修改连接地址和端口
      • 切换域名后,可能会存在DNS解析缓存问题,在缓存过期时间内可能会出现连接不上数据库或数据库只支持读操作无法执行写入操作等情况,建议您刷新一下服务器的DNS缓存。
      • 切换域名后,如果您需要使用DMS登录PolarDB数据库,必须使用新版本的DMS并且使用集群ID来进行登录,连接串无法登录。
    2. 单击确定
      说明 迁移切换完成后,如果您发现数据存在异常等问题,可以进行回滚操作,快速恢复至迁移前的状态也可以选择迁移回滚
    若您选择不带地址切换(应用程序需要改为新的PolarDB连接配置),操作步骤如下:
    1. 选中不带地址切换(应用程序需要改为新的PolarDB连接配置),在迁移切换完成后,您需要尽快修改应用程序端的数据库连接地址。
    2. 单击确定
    3. 刷新页面,当PolarDB读写状态显示为读写后,尽快修改应用里的数据库连接地址。
      刷新
      说明 迁移切换完成后,如果您发现数据存在异常等问题,可以进行回滚操作,快速恢复至迁移前的状态也可以选择迁移回滚

步骤三:完成迁移

从RDS迁移后,您需要在7天内进行完成迁移操作。
警告 由于本操作将中断PolarDB集群和RDS实例间的数据同步,不再提供迁移回滚功能,建议您使用一段时间PolarDB集群,确认正常后再执行本操作。
  1. 登录PolarDB控制台
  2. 找到目标集群,单击集群的ID。
  3. 基本信息页面,单击完成迁移,在弹出的对话框中单击确定完成迁移完成迁移确定
    说明
    • 单击确定后,系统将在约2分钟内中断同步关系,期间完成迁移按钮不会消失,请勿重复单击。
    • 您可以选择是否关闭PolarDB集群的Binlog。关闭Binlog会带来少量的写入性能提升,但需要重启PolarDB
    • 如果不再需要源RDS实例,可以释放实例,详情请参见释放实例

迁移回滚

在完成迁移前,如果您发现数据存在异常等问题,可以进行回滚操作,快速恢复至迁移前的状态(RDS实例为可读可写,PolarDB集群为只读,同时会将RDS实例的数据同步到PolarDB集群)。

  1. 登录PolarDB控制台
  2. 找到目标集群,单击集群ID。
  3. 基本信息页面单击迁移回滚迁移回滚
  4. 开始回切对话框中,选择带地址回切(应用程序不用改连接配置)不带地址回切(应用程序需要改为原RDS连接配置)
    1
    若您选择带地址回切(应用程序不用改连接配置),操作步骤如下:
    1. 选中带地址回切(应用程序不用改连接配置),系统会自动交换RDS和PolarDB上的连接地址,您无需在应用程序端修改任何配置即可自动回切到RDS。
      注意
      • 带地址切换只会切换RDS和PolarDB的域名,Vswitch、Vip等配置不会切换。
      • 带地址切换不会切换端口,请确保RDS和PolarDB的连接端口一致,修改RDS端口请参见查看或修改内外网地址和端口,修改PolarDB端口请参见修改连接地址和端口
      • 切换域名后,可能会存在DNS解析缓存问题,在缓存过期时间内可能会出现连接不上数据库或数据库只支持读操作无法执行写入操作等情况,建议您刷新一下服务器的DNS缓存。
    2. 单击确定
      说明 单击确定后RDS实例为可读可写,PolarDB集群为只读,同时会将RDS实例的数据同步到PolarDB集群。
    若您选择不带地址回切(应用程序需要改为原RDS连接配置),操作步骤如下:
    1. 选中不带地址回切(应用程序需要改为原RDS连接配置),在迁移切换完成后,您需要尽快修改应用程序端的数据库连接地址。
    2. 单击确定
      说明 单击确定后RDS实例为可读可写,PolarDB集群为只读,同时会将RDS实例的数据同步到PolarDB集群。
    3. 刷新页面,当源RDS读写状态显示为读写后,请尽快修改应用里的数据库连接地址为RDS连接地址。

迁移常见问题

  • 从RDS迁移会影响源RDS实例吗?

    答:不会影响源RDS实例的正常运行。

  • 平滑迁移对业务有影响吗?

    答:平滑迁移能够保证迁移过程不丢失数据,停机时间小于10分钟,如果有需要还可以进行回滚。

  • 取消迁移会有什么影响?

    答:取消迁移后,源RDS实例可以修改参数;PolarDB集群恢复可读可写,且数据不会释放。手动取消时可以选择是否关闭PolarDB集群的Binlog,自动取消时不会关闭。

相关API

API 描述
CreateDBCluster 创建PolarDB集群。
说明 一键升级时,参数CreationOption取值需要为MigrationFromRDS
DescribeDBClusterMigration 查询PolarDB集群的迁移状态。
ModifyDBClusterMigration 修改迁移任务,进行任务的切换或回滚。
CloseDBClusterMigration 取消或完成迁移。