全部产品
Search
文档中心

云原生数据库 PolarDB:迁移评估

更新时间:Apr 29, 2024

为了保证迁移链路的顺利进行以及更好的迁移体验,PolarDB提供了迁移评估功能,您可以在开始迁移前,对实例状态、迁移任务依赖、源实例属性信息等前提条件进行预校验,提前发现影响迁移进度的前置条件并处理,以降低迁移过程中的处理成本和资源成本。

支持的地域

当前支持迁移评估功能的地域有:

华东1(杭州)、华东2(上海)、华南1(深圳)、华北2(北京)、华北3(张家口)、华北6(乌兰察布)、西南1(成都)、中国(香港)、新加坡、印度尼西亚(雅加达)、美国(硅谷)、美国(弗吉尼亚)。

影响

迁移评估不会对业务造成影响。

创建迁移评估任务

  1. 登录PolarDB控制台

  2. 创建迁移评估任务。PolarDB提供了三种创建评估任务的入口:

    • 集群列表页创建:在集群列表页左上角单击迁移/升级评估按钮。

      image

    • 迁移/升级页创建:在迁移/升级页左上角单击创建迁移/升级评估按钮。

      image

    • PolarDB购买页进行一键升级,在选择了创建方式为从RDS迁移源RDS版本、目标PolarDB数据库引擎及目标PolarDB产品版本后,单击迁移评估按钮。

      image

  3. 填写迁移评估任务的相关参数。

    参数名称

    参数说明

    创建方式

    选择从RDS迁移

    若您是从PolarDB购买页创建的迁移评估任务,则无需选择,系统将自动为您选择为从RDS迁移

    源RDS版本

    选择源RDS实例的引擎版本。

    源RDS实例

    在下拉列表中选择具体某个实例,作为源实例。

    目标数据库引擎

    选择目标PolarDB MySQL版集群的数据库引擎版本。

    产品版本

    选择目标PolarDB MySQL版集群的产品版本。

    然后单击下一步

  4. PolarDB将从基本信息校验迁移任务依赖校验重点信息校验其他校验四方面对您的源RDS实例和迁移计划进行预检查和评估。请根据评估结果处理对应的问题。

    PolarDB整理了一份常见的迁移评估可能遇到的异常的问题及其处理方法,具体请参考常见问题及解决办法

    image

  5. 单击继续购买前往购买按钮,前往PolarDB购买页进行后续步骤。具体可参见升级步骤

管理迁移评估任务

对于已经创建的评估任务,您可以前往迁移/评估页面查看评估详情。若评估完成,可以进行重新评估或前往购买。

说明

创建的迁移评估任务有效期为7天,到期后将自动删除。若您的迁移评估任务已到期,您可重新创建新的评估任务。

image

常见问题及解决办法

分类

检查项

检查项校验失败的处理方法

源实例基本信息校验

源实例运行状态

源RDS实例的运行状态需要处于正常运行中

源实例读写状态

源RDS实例的运行状态需要处于正常运行中,可读可写。

源实例账号模式

如果源RDS实例处于高安全模式(数据库代理模式),需要创建一个具有高权限账号(具体请参见创建数据库和账号),或者切换到高性能模式(参见切换到高性能模式),才能进行一键升级。

PolarDB服务关联角色

账号下已创建PolarDB服务关联角色。

您可以参考检查是否已创建PolarDB服务关联角色操作,或通过OpenAPI创建。

迁移任务依赖校验

DTS服务权限

您的阿里云账号需要已授予DTS访问云资源的权限。

您可以参考授予DTS访问云资源的权限操作。

源实例是否是空库

源RDS实例没有创建数据库。您需要在实例中创建数据库后才能进行迁移。

源实例表引擎校验

仅表存储引擎类型为InnoDB或X-Engine的源RDS实例支持一键升级功能。

源实例触发器校验

源RDS实例创建了触发器,请先删除触发器,否则将导致迁移中断。

您可以在迁移流程结束后,在目标PolarDB集群手动创建触发器。

源实例无主键表校验

源RDS实例存在没有主键的表,同步数据后可能会导致目标数据库中出现重复数据。

您可以通过在源RDS实例上通过高权限账号连接数据库,并执行如下SQL,查询没有主键的表:

SELECT t1.table_schema, t1.table_name 
FROM information_schema.TABLES t1 LEFT OUTER 
	JOIN information_schema.TABLE_CONSTRAINTS t2 
  ON t1.table_schema = t2.TABLE_SCHEMA AND t1.table_name = t2.TABLE_NAME AND t2.CONSTRAINT_NAME 
  IN ("PRIMARY") 
WHERE t2.table_name IS NULL AND t1.table_type = "BASE TABLE" AND t1.TABLE_SCHEMA NOT IN ("information_schema", "performance_schema", "mysql", "sys") 。

您可以为查询出来的表添加主键。

如果您确认重复记录不影响,则可以忽略此项评估结果,在一键升级过程中出现该提示的时候选择继续升级

源实例重点信息校验

源实例root账号校验

为了兼容RDS MySQL和PolarDB两者的系统账号体系,避免迁移后目标PolarDB的系统账号被覆盖,源RDS实例中不允许同时存在root和aliyun_root账号。具体可参考删除源RDS实例中多余系统账号