This topic describes the common error messages that are returned during a precheck for a major version upgrade of an ApsaraDB RDS for MySQL instance. This topic also describes the details of each check item, possible causes of errors, and solutions.
The following table describes common error messages. If you encounter other error messages, you can submit a ticket.
Check item | Error message | Check content | Possible cause | Solution |
check_ins_major_version | The current engine version does not support this operation. | Checks whether the current instance version meets the prerequisites for a major version upgrade. | The instance version is not MySQL 5.6 or MySQL 5.7. The upgrade path is not from MySQL 5.6 to MySQL 5.7 or from MySQL 5.7 to MySQL 8.0. | For more information, see Prerequisites for a major version upgrade. |
check_ins | The specified instance does not exist or is not supported. | Checks whether the current instance exists. | The instance does not exist or was deleted. | Verify that the instance exists. You must perform the check on an existing ApsaraDB RDS for MySQL instance. |
check_ins_status | The current DB instance state does not support this operation. | Checks whether the instance is in the Running state. | The instance is not in the Running state because other operations, such as an instance restart or network connection creation, are in progress. | Wait for the current task to complete. After the instance status changes to Running, initiate the major version upgrade check again. |
check_master_ins | The current DB instance type does not support this operation. | Checks whether the instance to be upgraded is a primary instance. | The instance to be upgraded is a disaster recovery instance or a read-only instance. | Ensure that the instance to be upgraded is a primary instance. |
check_ins_locked_state | The current DB instance lock mode does not support this operation. | Checks whether the instance is locked. | The instance is in the Locking state. | Unlock the instance. Wait until the instance status changes to Running, and then perform the upgrade check again. For more information, see What do I do if my instance is in the Locking state? |
check_maxscale_kernel | The Maxscale version of the instance is too low. Upgrade the Maxscale version first. | Checks whether the minor version of the database proxy is supported. | The instance uses a proxy, and the minor version of the proxy is earlier than 1.13.41. | First, upgrade the minor version of the proxy to a supported version, and then upgrade the database version. |
check_ins_tde_state | This instance is not configured with the specified TDE status. | Checks whether transparent data encryption (TDE) is enabled for the current instance. | TDE is enabled for the instance. | If TDE is enabled for an instance, you cannot directly upgrade the major version in the console. For more information, see Upgrade the database version. |
check_target_ins_level | The current DB instance class does not support this operation. (Error code: | Checks whether the current instance type is available for purchase. | The major version cannot be directly upgraded because the current instance type is a phased-out instance type. | You cannot directly upgrade the major version of an instance that uses a phased-out instance type. You must first change the instance to a currently available instance type, and then upgrade the database version. |
check_target_read_level | The read-only instance class is not supported in the target instance. | Checks whether the instance type of the current read-only instance is available for purchase. | The instance type of the read-only instance is phased out. | The instance uses local SSDs. You must change the current read-only instance to an available instance type, and then perform the check again.
|
check_upgrade_check_task | The task already exists. | Checks whether a major version upgrade precheck task already exists for the current instance. | A major version upgrade precheck task is in progress for the current instance. | Wait for the precheck task to complete. After the instance status changes to Running, perform the check again. |
check_upgrade_task | The task already exists. | Checks whether a major version upgrade task already exists for the current instance. | A major version upgrade task is in progress for the current instance. | Wait for the major version upgrade task to complete. After the instance status changes to Running, perform the check again. |
check_storage_type | Standard SSDs do not support this operation. Please upgrade to ESSD. | Checks whether the current instance uses standard SSDs. | The current instance uses standard SSDs. | |
check_source_category | The specified source category is invalid. | Checks the current instance edition. | The current instance is not on the Basic Edition or High-availability Edition. | Upgrade checks are not supported for instances that are not on the High-availability Edition or Basic Edition. |
check_ins_biz_type | The specified business type is invalid. | Checks whether the current instance is a public cloud instance. | The current instance is not a public cloud instance. | Currently, upgrade checks are supported only for public cloud instances. |
check_ins_tables_number | Upgrade not allowed due to an excessive number of tables: more than 1,000,000. or Upgrade not allowed due to excessive number of tables: more than 1000,000. | Checks the number of data tables in the instance. |
| Delete redundant data tables before you perform the upgrade check. |
check_ins_db_engine | The instance contains tables that use the MyISAM, Memory, TokuDB, Sphinx, or RocksDB engine. | Checks whether the instance database contains tables that use the MyISAM, Memory, TokuDB, Sphinx, or RocksDB engine. | The database instance contains tables that use the MyISAM, Memory, TokuDB, Sphinx, or RocksDB engine. Upgrades are not supported for these engines. | First, convert the table engine to the InnoDB engine. If your database already uses the InnoDB engine but some tables still use other engines, run the |
check_ins_fts | The current instance has a full-text index, and its minor version is earlier than 20221130. | Checks whether the instance database has a full-text index and whether the minor version is earlier than 20221130. |
| In RDS for MySQL 5.6, the full-text index is created on the system tablespace. Therefore, when you upgrade from RDS for MySQL 5.6 to RDS for MySQL 5.7, you must clear the full-text index from the system tablespace in advance. Make sure that the minor version of your RDS for MySQL 5.6 instance is 20221130 or later. If your version is earlier, first upgrade to the latest RDS for MySQL 5.6 version.
|
check_read_ins_number | The number of read-only instances cannot be greater than 8. | Checks that the number of read-only instances that use local SSDs is not greater than 8. | The number of read-only instances for the current instance that uses local SSDs is greater than 8. | Release the extra read-only instances. You can create them again after the upgrade is complete. |
check_slave_state | The secondary node is unhealthy or has replication delays. | Checks the status and latency information of the secondary node. | The secondary node is in an abnormal state or has a replication delay. | You can view the Node Replication Thread Status (seconds) and Node Replication Latency (seconds) monitoring metrics in the console. Wait for the secondary node status to return to normal, and then perform the check again. |
check_account | The instance has an aliyun_root account. | You can check the account. | A user manually created an aliyun_root account in RDS for MySQL 5.6. | The aliyun_root account is a default account in RDS for MySQL 5.7 and later. If you manually created an aliyun_root account in version 5.6, a duplicate name error is reported during the upgrade to version 5.7. You must delete or modify the aliyun_root account before the upgrade check. For more information, see System accounts. |
check_sys_schema | The instance already has a sys database. | Checks whether the sys database exists in the instance. | The sys database exists by default in RDS for MySQL 5.7. If the sys database exists in RDS for MySQL 5.6, the upgrade from 5.6 to 5.7 fails. | If the sys database exists, you must rename it. Because MySQL does not support |
check_table_discard | The instance contains discarded tables. | Checks whether discarded tables exist in the instance. These are tables on which the | Discarded tables exist in the instance. | Query and delete the discarded tables. |
check_table_foreign_key | A partitioned table contains foreign keys. | Checks whether partitioned tables in the instance contain foreign keys. | A partitioned table contains foreign keys or is referenced by a foreign key of another table. | Resolve the conflicts between foreign keys and partitioned tables.
|
check_column_length | One or more views have a column name with a length of 64 or more characters. | Checks for views that have a column name with a length of 64 or more characters. | One or more views have a column name with a length of 64 or more characters. This is not supported. | Query for the views and then delete them or modify the length of the column names. |
check_foreign_key_constraint | One or more tables have a foreign key constraint name with a length greater than 64 characters. | Checks for tables that have a foreign key constraint name with a length greater than 64 characters. | One or more tables have a foreign key constraint name with a length greater than 64 characters. | Query for the tables and then delete them or modify the length of the foreign key constraint names. |
check_dictionary_table | The MySQL 5.7 system database contains tables with names that conflict with the MySQL 8.0 data dictionary. | Checks whether tables in the MySQL 5.7 system database have the same names as tables used by the MySQL 8.0 data dictionary. | Tables in the MySQL 5.7 system database have the same names as tables used by the MySQL 8.0 data dictionary. | Query for tables in the MySQL 5.7 system database that have the same names as tables used by the MySQL 8.0 data dictionary. Then, delete or rename the tables with the same names. |
check_ins_health | The primary node of the instance is not available. | Checks whether the instance is available by testing its connectivity. | Resources such as CPU and disk are fully utilized. | You can use the Monitoring and alerts feature in the console to check whether all monitoring metrics are normal. |
check_table_index_type | MySQL 8.0 does not support BTREE indexes on spatial data types. | When upgrading to RDS for MySQL 8.0, this item checks whether spatial data types in RDS for MySQL 5.7 contain BTREE indexes. | RDS for MySQL 8.0 does not support BTREE indexes on spatial data types. | Delete or modify the unsupported indexes. |