本文介紹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 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的表(即做過 | 實例中存在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索引。 | 需要刪掉或者修改不支持的索引,操作如下:
|