このトピックでは、ApsaraDB RDS for MySQLインスタンスのメジャーエンジンバージョンアップのレポートに含まれる一般的なエラーについて説明します。 このトピックでは、チェック項目、チェック内容、考えられるエラーの原因、および解決策についても説明します。
次の表に、一般的なエラーを示します。 表に記載されていないエラーが発生した場合は、チケットを起票してください。
チェックアイテム | 一般的なエラー | コンテンツの確認 | 考えられる原因 | 解決策 |
check_ins_major_version | 現在のエンジンバージョンは操作をサポートしていません。 | 現在のRDSインスタンスのバージョンがメジャーエンジンバージョンのアップグレードでサポートされているかどうかを確認します。 | RDSインスタンスはMySQL 5.6またはMySQL 5.7を実行していません。 さらに、RDSインスタンスはMySQL 5.6からMySQL 5.7に、またはMySQL 5.7からMySQL 8.0にアップグレードされません。 | RDSインスタンスがメジャーエンジンバージョンのアップグレードの条件を満たしていることを確認します。 詳細については、「メジャーエンジンのバージョンのアップグレード」をご参照ください。 |
check_ins | 指定されたインスタンスが存在しないか、サポートされていません。 | 現在のRDSインスタンスが存在するかどうかを確認します。 | RDSインスタンスが存在しないか、削除されます。 | アップグレードするRDSインスタンスが存在することを確認し、既存のRDSインスタンスでアップグレードチェックを実行します。 |
check_ins_status | Current DB instance state does not support this operation. | 現在のRDSインスタンスが [実行中] 状態であるかどうかを確認します。 | インスタンスの再起動やネットワーク接続の確立などの操作がRDSインスタンスで実行されているため、RDSインスタンスは [実行中] 状態ではありません。 | RDSインスタンスの操作が完了し、RDSインスタンスのステータスが [実行中] に変わるまで待ちます。 次に、RDSインスタンスのアップグレードチェックを再度実行します。 |
check_master_ins | Current DB instance type does not support this operation. | アップグレードするRDSインスタンスがプライマリRDSインスタンスであるかどうかを確認します。 | アップグレードするRDSインスタンスは、ディザスタリカバリRDSインスタンスまたは読み取り専用RDSインスタンスです。 | アップグレードするRDSインスタンスがプライマリRDSインスタンスであることを確認します。 |
check_ins_locked_state | Current DB instance lock mode does not support this operation. | RDSインスタンスがロックされているかどうかを確認します。 | RDSインスタンスはロック状態です。 | RDSインスタンスのロックを解除し、RDSインスタンスのステータスが [実行中] に変わるまで待ちます。 次に、RDSインスタンスのアップグレードチェックを再度実行します。 詳細については、「」をご参照ください。ApsaraDB RDSインスタンスがロック状態の場合はどうすればよいですか。 |
check_maxscale_kernel | インスタンスで使用されているMaxscaleバージョンが低すぎます。最初にMaxscaleバージョンをアップグレードしてください。 | データベースプロキシ機能が有効になっているRDSインスタンスのデータベースプロキシバージョンが、メジャーエンジンバージョンのアップグレードでサポートされているかどうかを確認します。 | データベースプロキシ機能が有効になっているRDSインスタンスのデータベースプロキシバージョンが1.13.41より前です。 | RDSインスタンスのメジャーエンジンバージョンをアップグレードする前に、データベースプロキシが有効になっているRDSインスタンスのデータベースプロキシバージョンを必要なバージョンにアップグレードします。 詳細については、「データベースプロキシバージョンのアップグレード」をご参照ください。 |
check_ins_tde_state | 指定されたTDEStatusは、このカスティンに設定されていません。 | 現在のRDSインスタンスで透過的データ暗号化 (TDE) 機能が有効になっているかどうかを確認します。 | 現在のRDSインスタンスでTDE機能が有効になっています。 | RDSインスタンスでTDE機能が有効になっている場合、ApsaraDB RDSコンソールでRDSインスタンスのメジャーエンジンバージョンを直接アップグレードすることはできません。 詳細については、「データベースエンジンのバージョンのアップグレード」をご参照ください。 |
check_target_ins_level | 現在のDBインスタンスレベルはこの操作をサポートしていません。 | 現在のDBインスタンスレベルはこの操作をサポートしていません。 | 現在のRDSインスタンスのインスタンスタイプは段階的に廃止されています。 | RDSインスタンスがフェーズアウトインスタンスタイプを使用している場合、RDSインスタンスのメジャーエンジンバージョンをアップグレードする前に、RDSインスタンスのインスタンスタイプをアップグレードする必要があります。
|
check_target_read_level | 読み取り専用インスタンスレベルは、対象インスタンスではサポートされていません。 | 現在の読み取り専用RDSインスタンスのインスタンスタイプが購入可能かどうかを確認します。 | 現在の読み取り専用RDSインスタンスのインスタンスタイプは廃止されています。 | 現在の読み取り専用RDSインスタンスがローカルディスクを使用している場合、読み取り専用RDSインスタンスのインスタンスタイプを使用可能なインスタンスタイプに変更します。 次に、RDSインスタンスのアップグレードチェックを再度実行します。
|
check_upgrade_check_task | タスクは既に存在します。 | 現在のRDSインスタンスでアップグレードチェックが実行されているかどうかを確認します。 | 現在のRDSインスタンスでアップグレードチェックが実行されています。 | アップグレードチェックが完了するまで待ちます。 RDSインスタンスのステータスが [実行中] に変わったら、アップグレードチェックを再度実行します。 |
check_upgrade_task | タスクは既に存在します。 | 現在のRDSインスタンスでメジャーエンジンバージョンのアップグレードが実行されているかどうかを確認します。 | 現在のRDSインスタンスのメジャーエンジンバージョンがアップグレード中です。 | 現在のRDSインスタンスのメジャーエンジンバージョンがアップグレードされるまで待ちます。 RDSインスタンスのステータスが [実行中] に変わったら、アップグレードチェックを再度実行します。 |
check_storage _type | Cloud ssdはこの操作をサポートしていません。essdにアップグレードしてください。 | 現在のRDSインスタンスが標準SSDを使用しているかどうかを確認します。 | 現在のRDSインスタンスは標準SSDを使用しています。 | 現在のRDSインスタンスのストレージタイプを標準SSDからエンタープライズSSD (ESSD) にアップグレードします。 詳細については、「標準SSDからESSDへのストレージタイプのアップグレード」をご参照ください。 |
check_source_category | 指定されたソースカテゴリが無効です。 | 現在のRDSインスタンスのRDSエディションを確認します。 | 現在のRDSインスタンスは、RDS Basic EditionまたはRDS High-availability Editionを実行していません。 | アップグレードするRDSインスタンスがRDS Basic EditionまたはRDS High-availability Editionを実行していることを確認します。 |
check_ins_biz_type | 指定されたbizタイプは無効です。 | 現在のRDSインスタンスがAlibaba Cloudパブリッククラウドにデプロイされているかどうかを確認します。 | 現在のRDSインスタンスはAlibaba Cloudパブリッククラウドにデプロイされていません。 | RDSがAlibaba Cloudパブリッククラウドにデプロイされていることを確認します。 |
check_ins_tables_number | テーブルの数が200,000を超えるため、アップグレードできません。
テーブルの数が50,000を超えるため、アップグレードできません。 | RDSインスタンスのデータテーブル数を確認します。 |
| 冗長なデータテーブルを削除し、アップグレードチェックを再度実行します。 |
check_ins_db_engine | MyISAM、Memory、TokuDB、Sphinx、RocksDBなどのエンジンが存在します。 | RDSインスタンスがMyISAM、MEMORY、TokuDB、Sphinx、またはRocksDBストレージエンジンを実行しているかどうかを確認します。 | RDSインスタンスは、MyISAM、MEMORY、TokuDB、Sphinx、またはRocksDBストレージエンジンを実行します。 この場合、RDSインスタンスのメジャーエンジンバージョンをアップグレードすることはできません。 | RDSインスタンスのストレージエンジンをInnoDBに変更します。 RDSインスタンスのストレージエンジンがInnoDBであるが、RDSインスタンス上の一部のテーブルが他のストレージエンジンを実行している場合は、RDSインスタンスのメジャーエンジンバージョンをアップグレードする前に、 |
check_ins_fts | 現在のインスタンスにはFTSインデックスがあり、マイナーバージョンは20221130未満です。 | RDSインスタンスにフルテキスト検索 (FTS) インデックスが存在するかどうか、およびRDSインスタンスのマイナーエンジンバージョンが20221130より前であるかどうかを確認します。 |
| FTSインデックスは、MySQL 5.6を実行するRDSインスタンスのシステムテーブルスペースに作成されます。 したがって、RDSインスタンスのメジャーエンジンバージョンをMySQL 5.6からMySQL 5.7にアップグレードする場合、システムテーブルスペースのFTSインデックスを削除し、MySQL 5.6を実行するRDSインスタンスのマイナーエンジンバージョンが20221130以降であることを確認する必要があります。 RDSインスタンスがMySQL 5.6以前を実行している場合、メジャーエンジンバージョンをMySQL 5.6にアップグレードする必要があります。 詳細については、「メジャーエンジンのバージョンのアップグレード」をご参照ください。
|
check_read_ins_number | 読み取り専用インスタンスの数は8を超えることはできません。 | ローカルディスクを使用する読み取り専用RDSインスタンスの数が8を超えているかどうかを確認します。 | ローカルディスクを使用する読み取り専用RDSインスタンスの数が8を超えています。 | ローカルディスクを使用する読み取り専用RDSインスタンスの数を8以下に減らし、アップグレードを実行します。 アップグレードが完了したら、ビジネス要件に基づいて読み取り専用RDSインスタンスを作成します。 |
check_slave_state | スレーブステータスが不健康であるか、遅延があります。 | セカンダリノードのステータスとレイテンシ情報を確認します。 | セカンダリノードのステータスが異常であるか、またはレプリケーションレイテンシのためにプライマリノードとセカンダリノードの間でデータが一致しない可能性があります。 | ApsaraDB RDSコンソールの [モニタリングとアラート] ページで、[ノード複製スレッドのステータス] と [ノード複製待ち時間 (2番目) のメトリックを確認します。 セカンダリノードが通常どおり実行されている場合は、アップグレードチェックを実行します。 |
check_account | インスタンスにaliyun_rootアカウントがあります。 | アカウントを確認します。 | aliyun_rootアカウントは、MySQL 5.6を実行するRDSインスタンスに対して手動で作成されます。 | アップグレードチェックを実行する前に、重複するaliyun_rootアカウントを削除または変更します。 MySQL 5.7以降を実行するRDSインスタンスに対して、aliyun_rootアカウントが自動的に作成されます。 MySQL 5.6を実行するRDSインスタンスのaliyun_rootアカウントを作成した場合、メジャーエンジンのバージョンをMySQL 5.6からMySQL 5.7にアップグレードすると、重複するアカウント名が存在することを示すエラーメッセージが表示されます。 この場合、アップグレードチェックを実行する前に、aliyun_rootアカウントを削除または変更する必要があります。 詳細については、「システムアカウント」をご参照ください。 |
check_sys_schema | インスタンスにはすでにsysデータベースがあります。 | RDSインスタンスにsysデータベースが存在するかどうかを確認します。 | MySQL 5.7を実行するRDSインスタンス用にsysデータベースが自動的に作成されます。 MySQL 5.6を実行するRDSインスタンス用のsysデータベースを作成した場合、RDSインスタンスのメジャーエンジンバージョンをMySQL 5.6からMySQL 5.7にアップグレードすることはできません。 | 重複するsysデータベースの名前を変更します。 MySQLは
|
check_table_discard | 破棄されたテーブルがあります。 | RDSインスタンスに破棄されたテーブルが存在するかどうかを確認します。 破棄されたテーブルは、 | 破棄されたテーブルはRDSインスタンスに存在します。 | 破棄されたテーブルを照会して削除します。
|
check_table_foreign_key | パーティション分割テーブルには外部キーが含まれます。 | RDSインスタンスのパーティションテーブルに外部キーが含まれているかどうかを確認します。 | RDSインスタンスのパーティションテーブルに外部キーが含まれているか、他のテーブルの外部キーによって参照されています。 | テーブルとパーティションテーブルの外部キー間の競合を解決します。
|
check_column_length | 64以上の列長を有するビューの数は、0よりも大きい。 | 列の長さが64以上のビューの数を確認します。 | 列の長さが64以上のビューの数が0を超えています。 | 列の長さが64以上のビューを照会します。 次に、ビューの列の長さを変更するか、不要なビューを削除します。
|
check_foreign_key_constraint | 外部キー拘束長が64より大きいテーブルの数は0より大きい。 | 外部キー制約の名前が64文字を超えるテーブルの数を確認します。 | 外部キー制約の名前の長さが64文字を超えるテーブルの数が0より大きい。 | 関連テーブルを照会します。 次に、テーブルの外部キー制約の名前を変更するか、テーブルを削除します。
|
check_dictionary_table | MySQL 5.7を実行するRDSインスタンスのシステムデータベース内のテーブルは、MySQL 8.0のデータディクショナリで使用されるテーブルと同じ名前にすることはできません。 | MySQL 5.7を実行するRDSインスタンスのシステムデータベースのテーブルが、MySQL 8.0のデータディクショナリで使用されるテーブルと同じ名前であるかどうかを確認します。 | MySQL 5.7を実行するRDSインスタンスのシステムデータベース内のテーブルは、MySQL 8.0のデータディクショナリで使用されるテーブルと同じ名前になります。 | MySQL 5.7を実行するRDSインスタンスのシステムデータベースのテーブルが、MySQL 8.0のデータディクショナリで使用されるテーブルと同じ名前であるかどうかを確認します。 重複する名前のテーブルが存在する場合は、テーブルを削除するか、名前を変更します。
|
check_ins_health | インスタンスのマスターノードは使用できません。 | RDSインスタンスが利用可能かどうか、またはRDSインスタンスの接続性を確認します。 | CPU使用率が100% に達し、ディスク容量が使い果たされます。 | ApsaraDB RDSコンソールの [モニタリングとアラート] ページで必要なメトリクスを確認できます。 詳細については、「モニタリングとアラート」をご参照ください。 |
check_read_ins_exists | 読み取り専用のインスタンスは、この操作をサポートしていません。 | MySQL 5.7を実行し、クラウドディスクを使用するRDSインスタンスに読み取り専用のRDSインスタンスがあるかどうかを確認します。 | MySQL 5.7を実行し、クラウドディスクを使用するRDSインスタンスには、読み取り専用のRDSインスタンスがあります。 読み取り専用のRDSインスタンスがあり、クラウドディスクを使用しているRDSインスタンスでは、アップグレード操作はサポートされていません。 | 読み取り専用RDSインスタンスをリリースします。 アップグレードが完了したら、ビジネス要件に基づいて読み取り専用RDSインスタンスを作成できます。 |
check_table_index_type | MySQL 8.0は、空間フィールドでのBTREEインデックスの作成をサポートしていません。 | MySQL 5.7を実行するRDSインスタンスに空間データ型のBTREEインデックスが含まれているかどうかを確認してから、RDSインスタンスのメジャーエンジンバージョンをMySQL 5.7からMySQL 8.0にアップグレードします。 | MySQL 8.0を実行するRDSインスタンスは、空間データ型でのBTREEインデックスの作成をサポートしていません。 | サポートされていないインデックスを削除または変更するには、次のステートメントを実行します。
|