PolarDB支持将RDS MySQL一键升级为PolarDB MySQL。

前提条件

  • 源RDS实例版本为RDS MySQL 5.6高可用版。
  • 源RDS实例未开启TDESSL
  • 源RDS实例的表存储引擎为InnoDB。
  • 如果RDS处于高安全模式(数据库代理模式),需要创建有高权限账号(请参见创建高权限账号),或者切换到高性能模式(参见【重要】RDS网络链路升级说明),才能进行一键升级。一键升级RDS MySQL到PolarDB MySQL_数据迁移_PolarDB MySQL数据库_云数据库PolarDB 阿里云技术文档 第1张

背景信息

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

详情请参见产品优势

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

一键升级的功能亮点

  • 迁移完全免费。
  • 迁移过程数据0丢失。
  • 支持增量迁移,停机时间小于10分钟。
  • 支持回滚,迁移失败可以在10分钟内恢复。

迁移流程

  1. 参见从RDS迁移的说明,创建一个与源RDS实例数据相同的PolarDB集群,源RDS实例的增量数据会实时同步到该PolarDB集群。
    说明 需要在7天内修改应用端的数据库地址为PolarDB地址,确认业务正常,以及单击完成迁移。单击完成迁移会中断RDS和PolarDB之间的数据同步。
  2. 单击迁移切换。该操作将源RDS实例修改为只读,将PolarDB集群修改为可读可写,PolarDB的增量数据会实时同步到RDS。修改数据库连接地址。具体操作请参见迁移切换
    说明 迁移切换后,也可以选择迁移回滚
  3. 完成迁移

注意事项

  • 迁移只能在相同地域内进行。
  • 源RDS实例在迁移时不能修改参数。

从RDS迁移

本操作将创建一个与源RDS实例数据相同的PolarDB集群,源RDS实例的增量数据会实时同步到该PolarDB集群。
  1. 登录PolarDB控制台
  2. 单击创建新集群
  3. 选择包年包月按量付费页签。
  4. 设置以下参数。
    参数 说明
    地域 源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节点均为独享型,性能稳定可靠。详情请参见规格与定价
    节点个数 无需选择。系统将自动创建一个与主节点规格相同的只读节点。
    存储费用 无需选择容量,根据实际数据使用量按小时计费。详情请参见规格与定价
  5. 设置购买时长(仅针对包年包月集群),然后单击右侧的立即购买
  6. 确认订单信息,阅读和勾选服务协议,单击去开通,完成支付。
  7. 进入PolarDB控制台,查看新建的PolarDB集群的状态。
    说明
    • 集群创建后开始从RDS实例同步数据,7 天内需要完成修改数据库连接地址以及完成迁移操作。超过7天将自动关闭迁移功能。
    • 您可以在此步骤选择取消迁移,相关影响请参见迁移常见问题

迁移切换

满足以下条件后,您可以进行迁移切换,然后修改应用里的数据库连接地址。

  • 已完成从RDS迁移的操作。
  • 复制延迟小于60秒。一键升级RDS MySQL到PolarDB MySQL_数据迁移_PolarDB MySQL数据库_云数据库PolarDB 阿里云技术文档 第2张
  1. 进入PolarDB控制台
  2. 找到目标集群,单击集群的ID。
  3. 基本信息页面单击迁移切换,在弹出的对话框中单击确定。本操作将源RDS实例修改为只读,将PolarDB集群修改为可读可写,同时会将PolarDB集群的新增数据同步到RDS实例。一键升级RDS MySQL到PolarDB MySQL_数据迁移_PolarDB MySQL数据库_云数据库PolarDB 阿里云技术文档 第3张
    说明
    • 数据同步的延迟超过60秒时无法进行迁移切换。
    • 切换过程一般小于5分钟。
  4. 刷新页面,当PolarDB读写状态显示为读写后,尽快修改应用里的数据库连接地址。一键升级RDS MySQL到PolarDB MySQL_数据迁移_PolarDB MySQL数据库_云数据库PolarDB 阿里云技术文档 第4张
    说明 迁移切换完成后,也可以选择迁移回滚

完成迁移

从RDS迁移后,需要在7天内修改数据库连接地址以及单击完成迁移。该操作将中断PolarDB集群和RDS实例间的数据同步。
警告 由于本操作将中断PolarDB集群和RDS实例间的数据同步,不再提供迁移回滚功能,建议您使用一段时间PolarDB集群,确认正常后再执行本操作。
  1. 进入PolarDB控制台
  2. 找到目标集群,单击集群的ID。
  3. 基本信息页面,单击完成迁移,在弹出的对话框中单击确定一键升级RDS MySQL到PolarDB MySQL_数据迁移_PolarDB MySQL数据库_云数据库PolarDB 阿里云技术文档 第5张一键升级RDS MySQL到PolarDB MySQL_数据迁移_PolarDB MySQL数据库_云数据库PolarDB 阿里云技术文档 第6张
    说明
    • 单击确定后,系统将在约2分钟内中断同步关系,期间完成迁移按钮不会消失,请勿重复单击。
    • 您可以选择是否关闭PolarDB集群的Binlog。关闭Binlog会带来少量的写入性能提升,但需要重启PolarDB。
  4. 如果不再需要源RDS实例,可以释放实例。

迁移回滚

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

  1. 进入PolarDB控制台
  2. 找到目标集群,单击集群的ID。
  3. 基本信息页面单击迁移回滚,在弹出的对话框中单击确定一键升级RDS MySQL到PolarDB MySQL_数据迁移_PolarDB MySQL数据库_云数据库PolarDB 阿里云技术文档 第7张
    说明 单击确定后RDS实例为可读可写,PolarDB集群为只读,同时会将RDS实例的数据同步到PolarDB集群。当源RDS读写状态显示为读写后,请尽快修改应用里的数据库连接地址为RDS连接地址。

迁移常见问题

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

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

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

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

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

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

相关API

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