业务背景
PolarDB MySQL版是阿里巴巴自研的云原生HTAP数据库。PolarDB MySQL版100%兼容原生MySQL的多个版本,包括MySQL 5.6、MySQL 5.7和MySQL 8.0。基于云原生架构、计算存储分离、软硬件一体化设计,为用户提供具备超高弹性和性能、高可用和高可靠保障、高性价比的数据库服务。
PolarDB 100%兼容MySQL,企业客户如果已经是PolarDB的存量客户,并使用了PolarDB的5.6、5.7版本,需要升级至5.7或8.0版本,可以使用大版本升级功能来进行大版本升级,详见:大版本升级
大版本升级之前需要修改PolarDB的一些配置、参数等,如果这些前置条件不满足,则无法正常进行升级,因此PolarDB团队在控制台增加了迁移评估评估功能。
功能简介
为了保证PolarDB大版本升级链路的顺利进行以及更好的升级体验,PolarDB为大版本升级提供了升级评估功能,可以在开始升级前,对集群状态、升级任务依赖、源集群属性信息等前提条件进行预校验,提前发现影响升级进度的前置条件并处理,以降低升级过程中的处理成本和资源成本。
升级评估步骤
创建升级评估任务
登录PolarDB控制台。创建升级评估任务。PolarDB提供了四种创建评估任务的入口:
- 从集群列表页创建:在集群列表页左上角单击迁移/升级评估按钮。

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

- 在PolarDB集群的版本管理 -> 大版本升级页面,单击升级评估按钮。

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

填写相关参数
填写升级评估任务的相关参数,进入

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

管理迁移评估任务
对于已经创建的评估任务,可以前往迁移/评估页面查看评估详情。若评估完成,可以进行重新评估或前往购买。创建的迁移评估任务有效期为7天,到期后将自动删除。若迁移评估任务已到期,可重新创建新的评估任务。

常见问题处理方法
PolarDB整理了一份常见的升级评估可能遇到的异常的问题及其处理方法,具体请参考常见问题及解决办法。
- 源实例运行状态:源PolarDB集群的运行状态需要处于正常运行中。
- 源实例读写状态:源PolarDB集群的运行状态需要处于正常运行中,可读可写。
- PolarDB服务关联角色:账号下已创建PolarDB服务关联角色。
- DTS服务权限:的阿里云账号需要已授予DTS访问云资源的权限。
- 源实例binlog校验:大版本升级前,源PolarDB集群需要开启Binlog。具体请参考开启Binlog。
- 源实例是否是空库:源PolarDB集群没有创建数据库。需要在集群中创建数据库后才能进行升级。
- 源实例触发器校验:源PolarDB集群创建了触发器,请先删除触发器,否则将导致升级中断。可以在升级流程结束后,在目标PolarDB集群手动创建触发器。
- 源实例无主键表校验:源PolarDB集群存在没有主键的表,同步数据后可能会导致目标数据库中出现重复数据。可以通过在源PolarDB集群上通过高权限账号连接数据库,并执行如下SQL,查询没有主键的表:
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账号校验:为了避免迁移后目标PolarDB集群的系统账号被覆盖,源PolarDB集群中不允许同时存在root和aliyun_root账号。因此,在进行升级前,请先删除源集群中多余的系统账号。具体可参考删除源PolarDB MySQL版集群中多余系统账号。




