すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:メジャーエンジンバージョンアップグレードのチェックレポート詳細

最終更新日:Nov 09, 2025

このトピックでは、ApsaraDB RDS for MySQL インスタンスのメジャーバージョンアップグレードの事前チェック中に返される一般的なエラーメッセージについて説明します。このトピックでは、各チェック項目、エラーの考えられる原因、およびソリューションの詳細についても説明します。

次の表に、一般的なエラーメッセージを示します。他のエラーメッセージが表示された場合は、チケットを送信できます。

チェック項目

エラーメッセージ

チェック内容

考えられる原因

解決策

check_ins_major_version

現在のエンジンバージョンではこの操作はサポートされていません。

現在のインスタンスバージョンがメジャーバージョンアップグレードの前提条件を満たしているかどうかをチェックします。

インスタンスのバージョンが MySQL 5.6 または MySQL 5.7 ではありません。アップグレードパスが MySQL 5.6 から MySQL 5.7、または MySQL 5.7 から MySQL 8.0 ではありません。

詳細については、「メジャーバージョンアップグレードの前提条件」をご参照ください。

check_ins

指定されたインスタンスが存在しないか、サポートされていません。

現在のインスタンスが存在するかどうかをチェックします。

インスタンスが存在しないか、削除されました。

インスタンスが存在することを確認します。既存の ApsaraDB RDS for MySQL インスタンスでチェックを実行する必要があります。

check_ins_status

現在の DB インスタンスの状態ではこの操作はサポートされていません。

インスタンスが実行中状態であるかどうかをチェックします。

インスタンスの再起動やネットワーク接続の作成などの他の操作が進行中であるため、インスタンスは実行中状態ではありません。

現在のタスクが完了するのを待ちます。インスタンスのステータスが実行中に変わったら、メジャーバージョンアップグレードのチェックを再度開始します。

check_master_ins

現在の DB インスタンスタイプではこの操作はサポートされていません。

アップグレードするインスタンスがプライマリインスタンスであるかどうかをチェックします。

アップグレードするインスタンスは、ディザスタリカバリインスタンスまたは読み取り専用インスタンスです。

アップグレードするインスタンスがプライマリインスタンスであることを確認してください。

check_ins_locked_state

現在の DB インスタンスのロックモードではこの操作はサポートされていません。

インスタンスがロックされているかどうかをチェックします。

インスタンスはロック中状態です。

インスタンスのロックを解除します。インスタンスのステータスが実行中に変わるまで待ってから、アップグレードチェックを再度実行します。詳細については、「インスタンスがロック中状態の場合はどうすればよいですか?」をご参照ください。

check_maxscale_kernel

インスタンスの Maxscale バージョンが低すぎます。最初に Maxscale バージョンをアップグレードしてください。

データベースプロキシのマイナーバージョンがサポートされているかどうかをチェックします。

インスタンスはプロキシを使用しており、プロキシのマイナーバージョンは 1.13.41 より前です。

まず、プロキシのマイナーバージョンをサポートされているバージョンにアップグレードしてから、データベースのバージョンをアップグレードします。

check_ins_tde_state

このインスタンスは指定された TDE ステータスで構成されていません。

現在のインスタンスで TDE (透過的データ暗号化) が有効になっているかどうかをチェックします。

インスタンスで TDE が有効になっています。

インスタンスで TDE が有効になっている場合、コンソールで直接メジャーバージョンをアップグレードすることはできません。詳細については、「データベースのバージョンをアップグレードする」をご参照ください。

check_target_ins_level

現在の DB インスタンスクラスではこの操作はサポートされていません。

(エラーコード: InvalidInstanceLevel.Malformed)

現在のインスタンスタイプが購入可能かどうかをチェックします。

現在のインスタンスタイプは段階的に廃止されたインスタンスタイプであるため、メジャーバージョンを直接アップグレードすることはできません。

段階的に廃止されたインスタンスタイプを使用するインスタンスのメジャーバージョンを直接アップグレードすることはできません。まず、インスタンスを現在利用可能なインスタンスタイプに変更してから、データベースのバージョンをアップグレードする必要があります。

check_target_read_level

読み取り専用インスタンスクラスはターゲットインスタンスではサポートされていません。

現在の読み取り専用インスタンスのインスタンスタイプが購入可能かどうかをチェックします。

読み取り専用インスタンスのインスタンスタイプは段階的に廃止されました。

インスタンスはローカル SSD を使用しています。現在の読み取り専用インスタンスを利用可能なインスタンスタイプに変更してから、再度チェックを実行する必要があります。

check_upgrade_check_task

タスクはすでに存在します。

現在のインスタンスにメジャーバージョンアップグレードの事前チェックタスクがすでに存在するかどうかをチェックします。

現在のインスタンスでメジャーバージョンアップグレードの事前チェックタスクが進行中です。

事前チェックタスクが完了するのを待ちます。インスタンスのステータスが実行中に変わったら、再度チェックを実行します。

check_upgrade_task

タスクはすでに存在します。

現在のインスタンスにメジャーバージョンアップグレードタスクがすでに存在するかどうかをチェックします。

現在のインスタンスでメジャーバージョンアップグレードタスクが進行中です。

メジャーバージョンアップグレードタスクが完了するのを待ちます。インスタンスのステータスが実行中に変わったら、再度チェックを実行します。

check_storage_type

標準 SSD はこの操作をサポートしていません。ESSD にアップグレードしてください。

現在のインスタンスが標準 SSD を使用しているかどうかをチェックします。

現在のインスタンスは標準 SSD を使用しています。

まず、ストレージタイプをエンタープライズ SSD (ESSD) にアップグレードします。

check_source_category

指定されたソースカテゴリは無効です。

現在のインスタンスエディションをチェックします。

現在のインスタンスは Basic Edition または High-availability Edition ではありません。

High-availability Edition または Basic Edition ではないインスタンスでは、アップグレードチェックはサポートされていません。

check_ins_biz_type

指定されたビジネスタイプは無効です。

現在のインスタンスがパブリッククラウドインスタンスであるかどうかをチェックします。

現在のインスタンスはパブリッククラウドインスタンスではありません。

現在、アップグレードチェックはパブリッククラウドインスタンスでのみサポートされています。

check_ins_tables_number

テーブル数が多すぎるためアップグレードは許可されません: 1,000,000 を超えています。

または

テーブル数が多すぎるため、アップグレードできません。1,000,000 以上。

インスタンス内のデータテーブルの数をチェックします。

  • ローカル SSD を使用するインスタンスのデータテーブル数が 1,000,000 を超えています。

  • クラウドディスクを使用するインスタンスのデータテーブル数が 1,000,000 を超えています。

アップグレードチェックを実行する前に、冗長なデータテーブルを削除してください。

check_ins_db_engine

インスタンスには、MyISAM、Memory、TokuDB、Sphinx、または RocksDB エンジンを使用するテーブルが含まれています。

インスタンスデータベースに MyISAM、Memory、TokuDB、Sphinx、または RocksDB エンジンを使用するテーブルが含まれているかどうかをチェックします。

データベースインスタンスには、MyISAM、Memory、TokuDB、Sphinx、または RocksDB エンジンを使用するテーブルが含まれています。これらのエンジンではアップグレードはサポートされていません。

まず、テーブルエンジンを InnoDB エンジンに変換します。データベースがすでに InnoDB エンジンを使用しているが、一部のテーブルがまだ他のエンジンを使用している場合は、ALTER TABLE <table_name> engine=InnoDB; コマンドを実行して、アップグレード前にテーブルを InnoDB エンジンに変換します。

check_ins_fts

現在のインスタンスにはフルテキストインデックスがあり、そのマイナーバージョンは 20221130 より前です。

インスタンスデータベースにフルテキストインデックスがあるかどうか、およびマイナーバージョンが 20221130 より前であるかどうかをチェックします。

  • 古い MySQL バージョンでは、フルテキストインデックスがシステム表領域に作成されることがあります。メジャーバージョンアップグレード中に、これらのインデックスが表領域の破損を引き起こす可能性があります。データ破損を防ぐには、アップグレード前にこれらのインデックスを処理する必要があります。

  • この問題は RDS for MySQL 5.6 マイナーバージョン 20221130 で修正されており、フルテキストインデックスは別の表領域に作成されます。

RDS for MySQL 5.6 では、フルテキストインデックスはシステム表領域に作成されます。したがって、RDS for MySQL 5.6 から RDS for MySQL 5.7 にアップグレードする場合、事前にシステム表領域からフルテキストインデックスをクリアする必要があります。RDS for MySQL 5.6 インスタンスのマイナーバージョンが 20221130 以降であることを確認してください。バージョンがそれより古い場合は、まず最新の RDS for MySQL 5.6 バージョンにアップグレードしてください。

  1. プロンプトのテーブル名に基づいて、システム表領域に作成されたフルテキストインデックスを削除します。

    ALTER TABLE $table_name DROP INDEX $fts_name;
  2. フルテキストインデックスを再作成します。

    ALTER TABLE $table_name ADD FULLTEXT INDEX $fts_name;
  3. インデックスが作成された後、次の SQL 文を実行して現在のインスタンスのフルテキストインデックスをチェックできます。SQL 文は、システム表領域に作成されたフルテキストインデックスを返します。クエリが空の結果を返した場合、RDS for MySQL 5.6 から RDS for MySQL 5.7 へのアップグレードはインデックスの問題で失敗しません。

    SELECT NAME FROM information_schema.INNODB_SYS_TABLES WHERE TABLE_ID IN ( SELECT CONV(SUBSTRING_INDEX(SUBSTRING_INDEX(NAME, '_', -4),'_', 1),16,10) FROM INNODB_SYS_TABLES WHERE NAME LIKE '%fts_00000000%' AND SPACE = 0);

check_read_ins_number

読み取り専用インスタンスの数は 8 を超えることはできません。

ローカル SSD を使用する読み取り専用インスタンスの数が 8 を超えていないことをチェックします。

ローカル SSD を使用する現在のインスタンスの読み取り専用インスタンスの数が 8 を超えています。

余分な読み取り専用インスタンスを解放します。アップグレード完了後に再度作成できます。

check_slave_state

セカンダリノードが異常であるか、レプリケーションの遅延があります。

セカンダリノードのステータスとレイテンシ情報をチェックします。

セカンダリノードが異常な状態であるか、レプリケーションの遅延があります。

コンソールで Node Replication Thread Status (seconds) および Node Replication Latency (seconds) のモニタリングメトリックを表示できます。セカンダリノードのステータスが正常に戻るのを待ってから、再度チェックを実行します。

check_account

インスタンスには aliyun_root アカウントがあります。

アカウントをチェックできます。

ユーザーが RDS for MySQL 5.6 で aliyun_root アカウントを手動で作成しました。

aliyun_root アカウントは、RDS for MySQL 5.7 以降のデフォルトアカウントです。バージョン 5.6 で aliyun_root アカウントを手動で作成した場合、バージョン 5.7 へのアップグレード中に重複名エラーが報告されます。アップグレードチェックの前に aliyun_root アカウントを削除または変更する必要があります。詳細については、「システムアカウント」をご参照ください。

check_sys_schema

インスタンスにはすでに sys データベースがあります。

インスタンスに sys データベースが存在するかどうかをチェックします。

sys データベースは RDS for MySQL 5.7 にデフォルトで存在します。sys データベースが RDS for MySQL 5.6 に存在する場合、5.6 から 5.7 へのアップグレードは失敗します。

sys データベースが存在する場合は、名前を変更する必要があります。MySQL は RENAME DATABASE をサポートしていないため、各テーブルに対して手動で ALTER TABLE RENAME を実行する必要があります。

SELECT * FROM information_schema.SCHEMATA WHERE SCHEMA_NAME='sys';

check_table_discard

インスタンスには破棄されたテーブルが含まれています。

インスタンスに破棄されたテーブルが存在するかどうかをチェックします。これらは、ALTER TABLE discard TABLESPACE 操作が実行されたテーブルです。

インスタンスに破棄されたテーブルが存在します。

破棄されたテーブルをクエリして削除します。

SELECT space,name FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES WHERE FS_BLOCK_SIZE=0 AND FILE_SIZE=0 AND name NOT LIKE '%#sql%';

check_table_foreign_key

パーティションテーブルに外部キーが含まれています。

インスタンス内のパーティションテーブルに外部キーが含まれているかどうかをチェックします。

パーティションテーブルに外部キーが含まれているか、別のテーブルの外部キーによって参照されています。

外部キーとパーティションテーブル間の競合を解決します。

  1. 外部キーを含むパーティションテーブルをクエリします。

    SELECT DISTINCT a.TABLE_SCHEMA, a.TABLE_NAME
    FROM information_schema.TABLE_CONSTRAINTS a, information_schema.PARTITIONS b
    WHERE a.CONSTRAINT_TYPE='FOREIGN KEY'
    AND a.TABLE_SCHEMA = b.TABLE_SCHEMA
    AND a.TABLE_NAME = b.TABLE_NAME
    AND (b.PARTITION_NAME IS NOT NULL OR b.SUBPARTITION_NAME IS NOT NULL);
  2. 他のテーブルの外部キーによって参照されるパーティションテーブルをクエリします。

    SELECT DISTINCT a.TABLE_SCHEMA, a.TABLE_NAME, a.REFERENCED_TABLE_SCHEMA, a.REFERENCED_TABLE_NAME
    FROM information_schema.KEY_COLUMN_USAGE a, information_schema.PARTITIONS b
    WHERE a.REFERENCED_TABLE_SCHEMA = b.TABLE_SCHEMA
    AND a.REFERENCED_TABLE_NAME = b.TABLE_NAME
    AND (b.PARTITION_NAME IS NOT NULL OR b.SUBPARTITION_NAME IS NOT NULL);

check_column_length

1 つ以上のビューに、長さが 64 文字以上の列名があります。

長さが 64 文字以上の列名を持つビューをチェックします。

1 つ以上のビューに、長さが 64 文字以上の列名があります。これはサポートされていません。

ビューをクエリし、それらを削除するか、列名の長さを変更します。

SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME IN (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS) AND CHAR_LENGTH(COLUMN_NAME) >= 64;

check_foreign_key_constraint

1 つ以上のテーブルに、長さが 64 文字を超える外部キー制約名があります。

長さが 64 文字を超える外部キー制約名を持つテーブルをチェックします。

1 つ以上のテーブルに、長さが 64 文字を超える外部キー制約名があります。

テーブルをクエリし、それらを削除するか、外部キー制約名の長さを変更します。

SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME IN (SELECT LEFT(SUBSTR(ID,INSTR(ID,'/')+1),INSTR(SUBSTR(ID,INSTR(ID,'/')+1),'_ibfk_')-1) FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN WHERE CHAR_LENGTH(SUBSTR(ID,INSTR(ID,'/')+1))>64);

check_dictionary_table

MySQL 5.7 システムデータベースには、MySQL 8.0 データディクショナリと競合する名前のテーブルが含まれています。

MySQL 5.7 システムデータベース内のテーブルが、MySQL 8.0 データディクショナリで使用されるテーブルと同じ名前を持っているかどうかをチェックします。

MySQL 5.7 システムデータベース内のテーブルは、MySQL 8.0 データディクショナリで使用されるテーブルと同じ名前を持っています。

MySQL 5.7 システムデータベース内で、MySQL 8.0 データディクショナリで使用されるテーブルと同じ名前を持つテーブルをクエリします。その後、同じ名前のテーブルを削除または名前変更します。

SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE LOWER(
TABLE_SCHEMA) = 'mysql' and LOWER(TABLE_NAME) IN
('catalogs', 'character_sets', 'check_constraints', 'collations',
'column_statistics', 'column_type_elements', 'columns',
'dd_properties', 'events', 'foreign_key_column_usage', 'foreign_keys',
'index_column_usage', 'index_partitions', 'index_stats',
'indexes', 'parameter_type_elements', 'parameters', 'resource_groups', 'routines',
'schemata', 'st_spatial_reference_systems',
'table_partition_values', 'table_partitions', 'table_stats', 'tables',
'tablespace_files', 'tablespaces', 'triggers', 'view_routine_usage',
'view_table_usage');

check_ins_health

インスタンスのプライマリノードが利用できません。

接続性をテストして、インスタンスが利用可能かどうかをチェックします。

CPU やディスクなどのリソースが完全に使用されています。

コンソールのモニタリングとアラート機能を使用して、すべてのモニタリングメトリックが正常であるかどうかを確認できます。

check_table_index_type

MySQL 8.0 は、空間データ型の BTREE インデックスをサポートしていません。

RDS for MySQL 8.0 にアップグレードする際、この項目は RDS for MySQL 5.7 の空間データ型に BTREE インデックスが含まれているかどうかをチェックします。

RDS for MySQL 8.0 は、空間データ型の BTREE インデックスをサポートしていません。

サポートされていないインデックスを削除または変更します。

SELECT DISTINCT s.* FROM INFORMATION_SCHEMA.STATISTICS s
INNER JOIN INFORMATION_SCHEMA.COLUMNS c
ON s.TABLE_SCHEMA = c.TABLE_SCHEMA
AND s.TABLE_NAME = c.TABLE_NAME
AND s.COLUMN_NAME = c.COLUMN_NAME
WHERE s.TABLE_SCHEMA NOT IN ('mysql', 'sys')
AND c.DATA_TYPE IN ('GEOMETRY', 'POINT', 'LINESTRING', 'POLYGON', 'MULTIPOINT', 
'MULTILINESTRING', 'MULTIPOLYGON', 'GEOMETRYCOLLECTION')
AND s.INDEX_TYPE = 'BTREE';