PolarDB支持将RDS MySQL实例一键升级至PolarDB MySQL版集群。在升级流程中,将自动同步RDS实例的账号、数据库、IP白名单及必要的参数配置。此外,您还可以选择保留原有数据库连接地址,从而使应用程序无需修改任何连接配置即可顺利切换至PolarDB集群。这一流程显著降低了迁移难度,支持业务平滑过渡。
您能够将RDS实例一键升级至相同或更高版本的PolarDB集群,例如:
RDS MySQL 5.6实例一键升级至PolarDB MySQL版5.6、5.7、8.0.1或8.0.2。
RDS MySQL 5.7实例一键升级至PolarDB MySQL版5.7、8.0.1或8.0.2。
RDS MySQL 8.0实例一键升级至PolarDB MySQL版8.0.1或8.0.2。
说明PolarDB MySQL版8.0.1完全兼容社区MySQL-8.0.13及更低的版本,8.0.2完全兼容社区MySQL-8.0.18及更低的版本。
PolarDB MySQL版8.0.1与8.0.2所支持的产品功能有所差异,具体信息请参见内核版本功能对比。
迁移方式
在一键升级流程中,迁移方式分为物理迁移(物理复制)和逻辑迁移(DTS数据同步)。系统将根据RDS实例的MySQL版本、产品系列及存储类型自动选择适用的迁移方式,且不支持手动修改。具体区分如下:
对比项 | 物理迁移(物理复制) | 逻辑迁移(DTS数据同步) |
适用实例 | RDS MySQL 5.6和5.7高可用版且存储类型为本地SSD盘的实例,升级至相同版本的PolarDB MySQL版集群。 说明 实例存在内核小版本限制:
| 除属于物理迁移(物理复制)方式外,其余形态的RDS MySQL实例升级至相同或不同版本的PolarDB MySQL版集群。 说明 无内核小版本限制。 |
实现方式 | 通过物理复制的方式,先从RDS实例复制全量数据,然后保持增量同步至PolarDB集群。 重要 增量同步过程中,所有创建的非InnoDB表都会被转成InnoDB表。 | 通过数据传输服务DTS创建数据同步任务,先同步RDS实例的库表结构和全量数据至PolarDB集群,再保持增量数据同步。 说明
|
是否需要DTS工具 | 不需要。 | 需要。 |
迁移MySQL版本 | 仅支持迁移至相同版本。 | 支持迁移至相同版本或更高版本,但不支持降低版本。 |
升级流程时长限制 | 需在30天内完成。到期后,将关闭迁移功能。 | 需在30天内完成。到期后,将关闭迁移功能。 |
是否支持跨地域迁移 | 不支持。 | 不支持。 |
是否支持增量同步 | 支持。 | 支持。 |
是否支持新增库的迁移 | 支持。 | 不支持。 说明 如需同步新增库,请前往DTS控制台修改同步对象,将新增库配置到正向和反向任务中。 |
是否支持结构迁移 | 支持。 | 仅支持迁移库、表、视图、存储过程、函数这五类结构。 |
方案优势
RDS实例影响
在一键升级流程中,RDS实例的某些操作将受到限制,且部分操作可能会导致RDS实例出现闪断或负载上升的情况。具体情况如下所示:
使用须知
前提条件
您的RDS实例需满足以下条件:
实例基本信息:
MySQL版本
基础系列
高可用系列
集群系列
5.6
-
本地SSD盘
-
5.7
云盘
本地SSD盘、云盘
云盘
8.0
云盘
本地SSD盘、云盘
云盘
数据表的存储引擎类型需为InnoDB或X-Engine。
若您的实例不满足物理迁移(物理复制)的要求,系统将自动选择逻辑迁移(DTS数据同步)的方式进行升级。在这种情况下,为避免一键升级失败,RDS实例还需满足以下条件:
不存在DTS双向同步任务。若存在DTS双向同步任务,在进行一键升级时可能会导致数据不一致的情况,请勿进行一键升级操作。
若已创建触发器(Trigger),需先删除RDS实例中的触发器,否则会导致迁移中断。
RDS实例默认已开启Binlog,您需确保参数binlog_row_image的值为full,否则预检查阶段会提示错误,且无法成功启动数据同步任务。
DTS要求RDS实例的本地日志(Binlog)至少保留7天以上,否则DTS可能因无法获取本地日志Binlog而导致任务失败,极端情况下甚至可能会导致数据不一致或丢失。由于您所设置的本地日志Binlog保存时间低于DTS要求的时间进而导致的问题,不在DTS的SLA保障范围内。
若您的实例不满足物理迁移(物理复制)的要求,但您希望通过该方式进行一键升级,您可以参考以下操作,使您的RDS实例符合物理迁移(物理复制)的要求,随后再进行一键升级:
针对RDS MySQL 5.6高可用版,内核小版本需为20190815或以上版本。
针对RDS MySQL 5.7高可用版,内核小版本需为20200331或以上版本。
说明您可以前往页面,在配置信息区域查看RDS实例的小版本信息。如果低于上述指定版本,您可以将内核小版本升级至最新版本。
物理迁移(物理复制)时,建议将本地日志(Binlog)的保留时长设置为至少24小时或以上。
使用限制
若您的实例不满足物理迁移(物理复制)的要求,系统将自动选择逻辑迁移(DTS数据同步)的方式进行升级。该迁移方式存在以下使用限制:
在DTS同步期间,不允许有除DTS外的数据写入目标库,否则会导致源库与目标库数据不一致。例如,有除DTS外的数据写入目标库时,使用DMS执行在线DDL变更,可能引起目标库数据丢失。
DTS默认同步到目标数据库中时会取消外键约束,因此源数据库的级联、删除等操作不会同步到目标数据库。
支持增量同步的SQL语句:
操作类型
SQL语句
DML
INSERT、UPDATE、DELETEDDL
ALTER TABLE、ALTER VIEWCREATE FUNCTION、CREATE INDEX、CREATE PROCEDURE、CREATE TABLE、CREATE VIEWDROP INDEX、DROP TABLERENAME TABLETRUNCATE TABLE
注意事项
迁移阶段 | 说明 |
迁移前 |
|
迁移时 |
|
费用说明
迁移费用
逻辑迁移(DTS数据同步)方式
逻辑迁移(DTS数据同步)方式中,不收取DTS数据同步任务的费用(不支持虚商用户、聚石塔用户以及RAM用户(子账号)等账号参加该免费活动),仅收取目标PolarDB集群的费用。
DTS数据同步任务:
30天内免费,超过30天将开始计费。费用信息,请参见DTS计费概述。
目标PolarDB集群:
计费类型为按量付费时,则集群在整个升级流程中不计费,而是在如下操作后才开始正常按量计费:
计费类型为Serverless时,则在集群的状态变为运行中后,即开始计费。
计费类型为包年包月时,则在创建集群时需预支付对应的费用。
物理迁移(物理复制)方式
物理迁移(物理复制)方式中,整个升级流程不收取额外费用,仅收取目标PolarDB集群的费用。
计费类型为按量付费时,则集群在整个升级流程中不计费,而是在如下操作后才开始正常按量计费:
计费类型为Serverless时,则在集群的状态变为运行中后,即开始计费。
计费类型为包年包月时,则在创建集群时需预支付对应的费用。
如何使用
1. 迁移评估
为了保证迁移链路的顺利进行和更好的迁移体验,PolarDB提供了迁移评估功能,您可以在开始迁移前,对实例状态、迁移任务依赖、实例属性信息等前提条件进行预校验,从而提前识别并处理可能影响迁移进度的前置条件,降低一键升级流程中的处理成本和资源成本。
2. 升级步骤
【推荐】控制台操作
以下为您简要说明一键升级操作流程。详细操作步骤说明,请参见升级步骤。
若您的RDS实例存在只读实例,且只读实例的白名单配置与主实例不一致。为确保只读实例的白名单能够自动同步至PolarDB集群,您需将只读实例的白名单合并至主实例的白名单配置中。
请前往PolarDB集群购买页面,选择创建方式为从RDS迁移,并指定源RDS的版本与实例,以购买一个PolarDB集群。购买完成后,系统将进行初始化、预检查及全量数据同步等操作。在此期间,集群的状态为创建中,请您耐心等待。
说明逻辑迁移(DTS数据同步)时,可能会出现预检查失败等错误情况,您需要根据错误信息进行相应的处理。处理完成后,可以单击继续迁移以继续一键升级流程。如果当前错误信息的处理会影响您的在线业务,您可以选择单击放弃迁移以中止一键升级流程。
带地址切换功能可以保留原有数据库连接地址,使得应用程序无需修改任何连接配置即可切换至PolarDB集群。但仅能切换RDS实例与PolarDB集群同时存在的连接地址。
您可以根据实际情况选择是否在PolarDB集群上补齐相关连接地址。
检查连接地址的SSL加密状态,RDS实例与PolarDB集群连接地址的SSL加密状态需保持一致。
当PolarDB集群的复制延迟小于60秒时,您可以进行业务切换。单击迁移切换,交换RDS实例和PolarDB集群的读写状态(即将RDS实例修改为只读,将PolarDB集群修改为可读可写),同时更换数据复制方向(即将PolarDB集群的新增数据同步到RDS实例)。
若RDS实例存在关联的DTS链路(非一键升级流程中逻辑迁移的DTS数据同步链路),您可使用此功能修改(替换)DTS同步或迁移任务的源或目标库实例,平滑切换关联业务。
当业务数据迁移已完成,并且在PolarDB集群上稳定运行后,若后续不再需要使用数据同步,您可以单击完成迁移以结束一键升级流程。
当业务已在PolarDB集群上稳定运行且不再需要RDS实例时,可以进行退订或释放RDS实例。
API操作
以下为您简要说明一键升级操作流程。详细操作步骤说明,请参见升级步骤以及相关API文档。
若您的RDS实例存在只读实例,且只读实例的白名单配置与主实例不一致。为确保只读实例的白名单能够自动同步至PolarDB集群,您需将只读实例的白名单合并至主实例的白名单配置中。
调用创建集群API时,请求参数SourceResourceId需为源RDS实例所在地域,CreationOption需为MigrationFromRDS,且SourceResourceId需为源RDS实例ID。调用完成后,系统将进行初始化、预检查及全量数据同步等操作。在此期间,集群的状态为创建中,请您耐心等待。
DescribeDBClusterMigration - 查询PolarDB集群的迁移状态
当返回参数MigrationStatus为RDS2POLARDB_SYNCING时,表示系统已完成全量数据的同步,正在进行增量同步。
说明逻辑迁移(DTS数据同步)时,可能会出现预检查失败(参数MigrationStatus为PRE_CHECK_FAIL)等错误情况,您需要根据错误信息(参数Comment)进行相应的处理。处理完成后,可以在控制台单击继续迁移暂时没有继续迁移API以继续一键升级流程。如果当前错误信息的处理会影响您的在线业务,可以在控制台单击放弃迁移以中止一键升级流程。
ModifyDBClusterMigration - 切换迁移任务
当DescribeDBClusterMigration的返回参数DelayedSeconds小于60秒时,您可以进行业务切换。交换RDS实例和PolarDB集群的读写状态(即将RDS实例修改为只读,将PolarDB集群修改为可读可写),同时更换数据复制方向(即将PolarDB集群的新增数据同步到RDS实例)。
重要在进行迁移切换时,如果您选择使用带地址切换,请务必仔细阅读带地址切换注意事项。此外,请注意,切换过程中业务可能会中断1~5分钟。
迁移切换完成后,如果您发现数据存在异常或其他问题,可以调用ModifyDBClusterMigration回滚迁移任务,以便迅速恢复到升级前的状态。之后,您还可以继续选择调用CloseDBClusterMigration取消迁移,恢复到切换之前的状态。
(可选)ModifyDtsJobEndpoint - 修改DTS任务的源或目标库实例
若RDS实例存在关联的DTS链路(非一键升级流程中逻辑迁移的DTS数据同步链路),您可以修改(替换)DTS同步或迁移任务的源或目标库实例,平滑切换关联业务。
CloseDBClusterMigration - 完成迁移
当业务数据迁移已完成,并且在PolarDB集群上稳定运行后,若后续不再需要使用数据同步,您可以结束一键升级流程。
当业务已在PolarDB集群上稳定运行且不再需要RDS实例时,可以进行退订或释放RDS实例。
3. 调整备份策略
相关信息
专家面对面
若您在使用过程中有任何问题,可通过钉钉搜索群号入群咨询。您可以直接@群内专家,并附上您要咨询的问题。同时,群内也有PolarDB智能小助手7*24小时在线回答您的问题。
钉钉群号:43055001012