本文介紹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索引。 | 需要刪掉或者修改不支援的索引,操作如下:
|