本文介绍RDS MySQL大版本升级检查时的常见报错信息,并提供检测项的内容详情、可能原因以及解决方案。
以下报错信息为常见报错,如遇其他报错信息请提工单咨询。
检测项 | 常见报错 | 检查内容 | 可能原因 | 解决方案 |
check_ins_major_version | Current engine version does not support operations. | 检查当前实例版本是否符合MySQL大版本升级的前提条件。 | 该实例版本不是5.6或5.7,并且升级方式不是5.6升级到5.7或5.7升级到8.0。 | 请参照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. | 检查数据库代理中代理小版本是否支持。 | 实例使用了代理,代理的小版本低于1.13.41。 | 请先升级代理小版本至符合要求的版本后,再升级数据库版本。详情请参见升级数据库代理内核小版本。 |
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云盘。 | 请先升级存储类型为ESSD云盘。详情请参见升级SSD云盘至ESSD云盘。 |
check_source_category | Specified source category is invalid. | 检查当前实例类型。 | 当前实例类型不属于基础系列或者高可用系列。 | 暂不支持非高可用系列或基础系列的实例进行升级检查。 |
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 200,000. 或 Upgrade not allowed due to excessive number of tables: more than 50,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如果用户在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的表(即做过 | 实例中存在discarded的表。 | 查询并删除discarded的表。
|
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。 | 查询并删除相关表或者修改外键约束长度。
|
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_read_ins_exists | Instances with read-only do not support this operation. | 校验云盘5.7中是否有只读实例。 | 云盘升级操作,暂不支持主实例包含只读实例。 | 释放掉只读实例,升级成功后再创建。 |
check_table_index_type | MySQL 8.0 does not support creating BTREE indexes on spatial fields. | RDS MySQL 5.7升级8.0过程中,5.7版本的spatial类型是否包含BTREE索引。 | RDS MySQL 8.0不支持spatial类型创建BTREE索引。 | 需要删掉或者修改不支持的索引,操作如下:
|