本文介绍RDS MySQL大版本升级检查时的常见报错信息,并提供检测项的内容详情、可能原因以及解决方案。
以下报错信息为常见报错,如遇其他报错信息请提工单咨询。
检测项 | 报错信息 | 检查内容 | 可能原因 | 解决方案 |
check_ins_major_version | Current engine version does not support operations. | 检查当前实例版本和目标版本是否属于支持的大版本升级路径。 | 当前升级路径不是5.6升级到5.7、5.7升级到8.0或8.0升级到8.4。 | 请参见MySQL大版本升级的前提条件确认源版本、目标版本和实例形态。若控制台未开放对应升级入口,请提工单咨询。 |
check_ins | Specified instance does not exist or not support. | 检查当前实例是否存在。 | 实例不存在或已被删除。 | 查看实例是否存在,使用已有的RDS MySQL实例进行检查。 |
check_ins_status | Current DB instance state does not support this operation. | 检查实例状态是否为运行中。 | 有其他相关操作(如重启中,创建网络连接中等)正在进行,导致实例状态不为运行中。 | 请等待任务结束,实例状态为运行中后,再发起数据库大版本升级检查。 |
check_master_ins | Current DB instance type does not support this operation. | 检查待升级实例是否为主实例。 | 待升级的实例为灾备实例或者只读实例。 | 需要确保当前升级的实例为主实例。 |
check_ins_locked_state | Current DB instance lock mode does not support this operation. | 检查实例是否为锁定状态。 | 此实例状态为“锁定中”。 | 请先解锁实例,等待当前状态变为“运行中“,再进行升级检查操作。具体解锁信息,请参见实例状态显示“锁定中”时如何解决? |
check_maxscale_kernel | The Maxscale version used by the instance is too low, please upgrade the Maxscale version first. | 按升级路径检查数据库代理MaxScale小版本是否兼容目标大版本。 | 代理版本未满足对应目标小版本要求。5.7升级8.0时,要求代理版本不低于1.13.41;8.0升级8.4时,要求代理版本不低于2.25.11。 | 请先升级代理小版本至符合要求的版本后再检查。8.0升级8.4要求可解析的代理版本不低于2.25.11。 |
check_ins_tde_state | Specified TDEStatus is not configured on the This custins. | 检查当前实例是否开启TDE。 | 待检查实例已开启TDE。 | 实例开启了TDE功能,则不支持通过控制台直接升级。更多信息,请参见升级数据库版本。 |
check_target_ins_level | Current DB instance level does not support this operation. (错误码: | 校验当前实例规格是否为在售的规格。 | 当前实例规格已下线(属于历史规格实例),无法直接升级数据库版本。 | 已下线规格的实例无法直接进行版本升级,请先将实例变更为线上在售规格,再升级数据库版本。 |
check_target_read_level | The read-only instance level is not supported in the target instance. | 校验当前只读实例规格是否为在售的规格。 | 只读实例规格已下线。 | 实例存储为高性能本地盘,请将当前只读实例变更至官方售卖的规格后,再进行检查。
|
check_upgrade_check_task | The task already exists. | 检查当前实例是否存在大版本升级前置校验任务。 | 当前实例有大版本升级前置校验任务正在进行中。 | 请等待前置校验任务完成,待实例状态变为运行中后,再进行检查。 |
check_upgrade_task | The task already exists. | 检查当前实例是否已存在大版本升级任务。 | 当前实例有大版本升级任务正在进行。 | 请等待大版本升级任务完成,待实例状态变为运行中后,再进行检查。 |
check_storage _type | Cloud ssd does not support this operation, please upgrade to essd. | 检查当前实例存储是否为SSD云盘。 | 当前实例存储为SSD云盘。 | |
check_source_category | Specified source category is invalid. | 检查当前实例系列是否属于大版本升级支持范围。 | 当前实例不属于高可用系列、基础系列或集群系列,或者该升级路径不支持当前规格。 | 暂不支持非高可用系列或5.7基础系列的实例进行升级检查。 |
check_ins_biz_type | Specified biz type is not valid. | 检查当前实例是否属于公共云。 | 当前实例不属于公共云。 | 目前只支持针对公共云实例进行升级检查。 |
check_ins_tables_number | Upgrade not allowed due to excessive number of tables: more than 1000,000. 或 Upgrade not allowed due to excessive number of tables: more than 1000,000. | 检查实例的数据表数量是否超过当前升级路径允许的上限。 |
| 请在升级检查前清理冗余的数据表,然后重新发起检查。 |
check_ins_db_engine | There are engines present such as MyISAM, Memory, TokuDB, Sphinx, or RocksDB. | 检查实例数据库中是否有MyISAM、Memory,TokuDB,Sphinx或RocksDB引擎 | 数据库实例中使用了MyISAM、Memory、TokuDB、Sphinx或RocksDB引擎,不支持升级。 | 请先将数据库引擎转换为InnoDB引擎。如果您的数据库已是InnoDB引擎,但部分表仍是其他引擎,请使用 |
check_ins_fts | The current instance has an FTS index, and the minor version is less than 20221130. | 检查实例数据库中是否具有Fts索引,且小版本是否低于20221130。 |
| RDS MySQL的5.6版本中,全文索引会创建在系统表空间。因此,RDS MySQL 5.6升级至RDS MySQL 5.7的版本时,需提前清理系统表空间中的全文索引(方法如下),并确保当前RDS MySQL 5.6的小版本为20221130或之后的版本。如您的版本较低,请先升级至最新的RDS MySQL 5.6版本。
|
check_read_ins_number | The number of read-only instances cannot be greater than 8. | 检查高性能本地盘的只读实例数量不能大于8。 | 当前高性能本地盘实例中只读实例数量大于8。 | 释放掉多余的只读实例,待升级完成后再创建。 |
check_slave_state | The slave status is unhealthy or has delays. | 检查备节点状态以及时延信息。 | 备节点状态可能非正常或存在延迟。 | 可以通过控制台监控与报警功能查看节点复制线程状态(单位:秒)和节点复制延迟(单位:秒)的监控指标,待备节点状态恢复正常后进行检查。 |
check_account | The instance has an aliyun_root account. | 检查账户。 | RDS MySQL 5.6中存在用户手动创建的aliyun_root账户。 | RDS MySQL 5.7以上版本添加aliyun_root为默认账户,如果用户在5.6版本手动创建了aliyun_root账户后,升级到5.7时会报同名错误,需提前删除或修改aliyun_root账户,再进行升级检查。更多信息,请参见系统账号说明。 |
check_sys_schema | The instance already has a sys database. | 检查实例中是否存在sys库。 | RDS MySQL 5.7中,默认是存在sys库的,如果RDS MySQL 5.6存在sys库,这将导致5.6升级到5.7的过程失败。 | 如果存在sys库,则需要用户将sys库做重命名(由于MySQL不支持 |
check_table_discard | There are tables that have been discarded. | 检查实例中是否存在discarded表,即执行过 | 实例中存在tablespace文件大小和块大小均为0的discarded表。 | 请确认数据安全后恢复或删除相关表,再重新检查。源版本5.7可查询: 源版本8.0可查询: |
check_table_foreign_key | The partitioned table contains foreign keys. | 检查实例中分区表是否包含外键。 | 有包含外键或者被其他表外键引用的分区表。 | 需要用户解决表中外键和分区表的冲突。
|
check_column_length | The number of views with column length greater than or equal to 64 is greater than 0. | 检查实例中列长度大于或等于64的view数量。 | 不支持列长度大于或等于64的view数量大于0。 | 查询后删除多余view或修改对应列长度。 |
check_foreign_key_constraint | The number of tables with foreign key constraint length greater than 64 is greater than 0. | 检查实例中外键约束长度大于64的表数量。 | 外键约束长度大于64的表数量大于0。 | 查询并删除相关表或者修改外键约束长度名称后重新检查。。源版本5.7从INFORMATION_SCHEMA.INNODB_SYS_FOREIGN查询,源版本8.0从INFORMATION_SCHEMA.INNODB_FOREIGN查询。以下以5.7为例: |
check_dictionary_table | In the MySQL 5.7 system database, there cannot be tables with the same name as those used by the MySQL 8.0 data dictionary. | 检查5.7系统数据库中的表与8.0数据字典所使用的表是否存在同名。 | 5.7数据库中存在与8.0数据字典中相同的表名。 | 查询5.7系统数据库中与8.0数据字典使用的表是否有同名后,删除或者修改掉相同名称的表。 |
check_ins_health | The master node of the instance is not available. | 检验实例是否可用(连通性)。 | CPU、磁盘等都已被打满。 | 您可通过控制台监控与报警功能查看各项监控指标是否正常。 |
check_table_index_type | 5.7升级8.0:MySQL 8.0 does not support creating BTREE indexes on spatial fields. 8.0升级8.4:The current instance contains SPATIAL indexes. Drop these indexes before the upgrade and recreate them after the upgrade is complete. | 按升级路径执行索引兼容性检查:5.7升级8.0检查spatial字段上的BTREE索引;8.0升级8.4检查实例中是否存在空间索引(SPATIAL INDEX)。 | 5.7升级8.0时存在spatial字段上的BTREE索引;或者8.0升级8.4时存在SPATIAL INDEX的索引。 | 请在升级前删除检测到的不兼容索引,升级完成后按目标版本规则重建。5.7升级8.0可联合查询INFORMATION_SCHEMA.STATISTICS与INFORMATION_SCHEMA.COLUMNS定位spatial字段上的BTREE索引,如下所示: 8.0升级8.4可执行: |
check_read_ins_level | The specifications of read-only instances are inconsistent. | 检查高性能本地盘实例下多个只读实例的规格是否一致。 | 同一主实例下的只读实例使用了不同规格,升级过程中无法统一映射目标规格。 | 请将普通只读实例调整为一致的在售规格后,重新发起升级检查。 |
check_bak_read_exists | There is a read-only instance, but there is no standby read-only instance. | 检查高性能本地盘实例存在普通只读实例时,是否至少存在一个备用只读实例。 | 当前实例存在普通只读实例,但没有备用只读实例,无法满足升级切换要求。 | 请先调整只读实例拓扑并保留至少一个备用只读实例。 |
check_bak_read_number | Verify that the number of spare read-only instances cannot exceed 5. | 检查高性能本地盘实例的备用只读实例数量是否超过5个。 | 当前备用只读实例数量大于5。 | 请释放或调整多余的备用只读实例,数量不超过5个后重新检查。 |
check_read_ins_conn_type | The network types of the read-only instance and the standby read-only instance are inconsistent. | 检查普通只读实例与备用只读实例的网络连接类型是否一致。 | 同一拓扑中同时存在LVS和DNS连接类型。 | 请将普通只读实例和备用只读实例调整为一致的连接类型后重新检查。 |
check_interrupt_task | The standby read-only has unfinished tasks. | 检查备用只读实例上是否存在未完成或已中断的大版本相关任务。 | 备用只读实例仍有等待、运行、暂停或中断状态的任务。 | 请等待相关任务完成,或处理并结束异常任务后重新发起检查。 |
check_mgr_disabled_for_84 | MySQL 8.4 no longer supports Group Replication (MGR). | 检查8.0升级8.4时源实例是否启用了MGR。检查 | 当前实例存在MGR成员,或者配置为实例启动时自动拉起Group Replication。 | 请停止MGR,移除Group Replication相关参数并重启实例,确认MGR不再启用后重新检查。 |