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

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

最終更新日:May 14, 2025

このトピックでは、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

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

現在の RDS インスタンスが実行中状態かどうかを確認します。

RDS インスタンスでインスタンスの再起動やネットワーク接続の確立などの操作が実行されているため、RDS インスタンスは実行中状態ではありません。

RDS インスタンスの操作が完了し、RDS インスタンスのステータスが実行中に変更されるまで待ちます。 その後、RDS インスタンスでアップグレードチェックを再度実行します。

check_master_ins

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

アップグレードする RDS インスタンスがプライマリ RDS インスタンスかどうかを確認します。

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

アップグレードする RDS インスタンスがプライマリ RDS インスタンスであることを確認します。

check_ins_locked_state

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

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

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

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

check_maxscale_kernel

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

データベースプロキシ機能が有効になっている RDS インスタンスのデータベースプロキシバージョンが、メジャーエンジンバージョンアップグレードでサポートされているかどうかを確認します。

データベースプロキシ機能が有効になっている RDS インスタンスのデータベースプロキシバージョンは 1.13.41 より前です。

RDS インスタンスのメジャーエンジンバージョンをアップグレードする前に、データベースプロキシが有効になっている RDS インスタンスのデータベースプロキシバージョンを必要なバージョンにアップグレードします。 詳細については、「データベースプロキシバージョンをアップグレードする」をご参照ください。

check_ins_tde_state

指定された TDEStatus は、この custins で構成されていません。

現在の RDS インスタンスで透過データ暗号化 (TDE) 機能が有効になっているかどうかを確認します。

現在の RDS インスタンスで TDE 機能が有効になっています。

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

check_target_ins_level

現在の DB インスタンスレベルでは、この操作はサポートされていません。(エラーコード: InvalidInstanceLevel.Malformed)

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

インスタンスのインスタンスタイプが廃止されているため、RDS インスタンスのメジャーエンジンバージョンを直接アップグレードすることはできません。

RDS インスタンスで廃止されたインスタンスタイプを使用している場合は、RDS インスタンスのメジャーエンジンバージョンをアップグレードする前に、RDS インスタンスのインスタンスタイプをアップグレードする必要があります。

check_target_read_level

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

現在の読み取り専用 RDS インスタンスのインスタンスタイプが購入可能かどうかを確認します。

現在の読み取り専用 RDS インスタンスのインスタンスタイプは廃止されています。

現在の読み取り専用 RDS インスタンスでプレミアムローカル SSD を使用している場合は、読み取り専用 RDS インスタンスのインスタンスタイプを使用可能なインスタンスタイプに変更します。 その後、RDS インスタンスでアップグレードチェックを再度実行します。

check_upgrade_check_task

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

現在の RDS インスタンスでアップグレードチェックが実行されているかどうかを確認します。

現在の RDS インスタンスでアップグレードチェックが実行されています。

アップグレードチェックが完了するまで待ちます。 RDS インスタンスのステータスが実行中に変更されたら、アップグレードチェックを再度実行します。

check_upgrade_task

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

現在の RDS インスタンスでメジャーエンジンバージョンアップグレードが実行されているかどうかを確認します。

現在の RDS インスタンスのメジャーエンジンバージョンがアップグレードされています。

現在の RDS インスタンスのメジャーエンジンバージョンがアップグレードされるまで待ちます。 RDS インスタンスのステータスが実行中に変更されたら、アップグレードチェックを再度実行します。

check_storage _type

クラウド 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

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

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

RDS インスタンスのデータテーブルの数を確認します。

  • RDS インスタンスでプレミアムローカル SSD を使用しており、RDS インスタンスのデータテーブルの数が 1,000,000 を超える場合、RDS インスタンスのメジャーエンジンバージョンをアップグレードすることはできません。

  • RDS インスタンスでクラウドディスクを使用しており、RDS インスタンスのデータテーブルの数が 1,000,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 インスタンスのメジャーエンジンバージョンをアップグレードする前に、ALTER TABLE <テーブル名> engine=InnoDB; 文を実行して、テーブルのストレージエンジンを InnoDB に変更します。

check_ins_fts

現在のインスタンスには FTS インデックスがあり、マイナーバージョンは 20221130 未満です。

RDS インスタンスに全文検索 (FTS) インデックスが存在するかどうか、および RDS インスタンスのマイナーエンジンバージョンが 20221130 より前かどうかを確認します。

  • MySQL の歴史的な理由により、FTS インデックスは RDS インスタンスのシステム表領域に作成される場合があります。 この場合、RDS インスタンスのメジャーエンジンバージョンをアップグレードすると、RDS インスタンスのシステム表領域が FTS インデックスによって破損する可能性があります。 データ破損を防ぐために、RDS インスタンスのメジャーエンジンバージョンをアップグレードする前に、FTS インデックスを削除する必要があります。

  • 前述の問題は、MySQL 5.6 およびマイナーエンジンバージョン 20221130 を実行する RDS インスタンスで修正されており、FTS インデックスは RDS インスタンス用に別の表領域に作成されます。

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 にアップグレードする必要があります。 詳細については、「メジャーエンジンバージョンをアップグレードする」をご参照ください。

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

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

    ALTER TABLE $table_name ADD FULLTEXT INDEX $fts_name;
  3. 次の SQL 文を実行して、RDS インスタンスに作成された FTS インデックスをクエリします。 クエリ結果が返されない場合、FTS インデックスはシステム表領域に作成されておらず、MySQL 5.6 から MySQL 5.7 へのメジャーエンジンバージョンのアップグレードは、システム表領域に作成された FTS インデックスが原因で失敗しません。

    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 を使用する読み取り専用 RDS インスタンスの数が 8 を超えているかどうかを確認します。

プレミアムローカル SSD を使用する読み取り専用 RDS インスタンスの数が 8 を超えています。

プレミアムローカル SSD を使用する読み取り専用 RDS インスタンスの数を 8 以下に減らし、アップグレードを実行します。 アップグレードが完了したら、ビジネス要件に基づいて読み取り専用 RDS インスタンスを作成します。

check_slave_state

スレーブステータスが異常であるか、遅延が発生しています。

セカンダリノードのステータスとレイテンシ情報を確認します。

セカンダリノードのステータスが異常であるか、レプリケーションレイテンシが原因でプライマリノードとセカンダリノード間でデータの不整合が発生している可能性があります。

ApsaraDB RDS コンソールの [監視とアラート] ページで、[ノードレプリケーションスレッドステータス] および [ノードレプリケーションレイテンシ (秒)] メトリックを確認します。 セカンダリノードが正常に実行されている場合は、アップグレードチェックを実行します。

check_account

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

アカウントを確認します。

aliyun_root アカウントは、MySQL 5.6 を実行する RDS インスタンス用に手動で作成されます。

アップグレードチェックを実行する前に、重複する aliyun_root アカウントを削除または変更します。 aliyun_root アカウントは、MySQL 5.7 以降を実行する RDS インスタンス用に自動的に作成されます。 MySQL 5.6 を実行する RDS インスタンス用に aliyun_root アカウントを作成した場合、メジャーエンジンバージョンを MySQL 5.6 から MySQL 5.7 にアップグレードすると、重複するアカウント名が存在することを示すエラーメッセージが表示されます。 この場合、アップグレードチェックを実行する前に、aliyun_root アカウントを削除または変更する必要があります。 詳細については、「システムアカウント」をご参照ください。

check_sys_schema

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

RDS インスタンスに sys データベースが存在するかどうかを確認します。

sys データベースは、MySQL 5.7 を実行する RDS インスタンス用に自動的に作成されます。 MySQL 5.6 を実行する RDS インスタンス用に sys データベースを作成した場合、RDS インスタンスのメジャーエンジンバージョンを MySQL 5.6 から MySQL 5.7 にアップグレードすることはできません。

重複する sys データベースの名前を変更します。 MySQL は RENAME DATABASE 文をサポートしていないため、ALTER TABLE RENAME 文を実行してデータベースの名前を変更する必要があります。

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

check_table_discard

破棄されたテーブルがあります。

RDS インスタンスに破棄されたテーブルが存在するかどうかを確認します。 破棄されたテーブルとは、ALTER TABLE discard TABLESPACE 文が実行されたテーブルを指します。

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

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

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

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

RDS インスタンスのパーティションテーブルに外部キーが含まれているかどうかを確認します。

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

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

  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

列の長さが 64 以上のビューの数は 0 より大きいです。

列の長さが 64 以上のビューの数を確認します。

列の長さが 64 以上のビューの数が 0 を超えています。

列の長さが 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

外部キー制約の長さが 64 を超えるテーブルの数は 0 より大きいです。

外部キー制約の名前の長さが 64 文字を超えるテーブルの数を確認します。

外部キー制約の名前の長さが 64 文字を超えるテーブルの数が 0 より大きいです。

関連するテーブルをクエリします。次に、テーブルの外部キー制約の名前を変更するか、テーブルを削除します。

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 を実行する 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 のデータディクショナリで使用されるテーブルと同じ名前かどうかを確認します。 重複する名前のテーブルが存在する場合は、テーブルを削除または名前変更します。

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

インスタンスのマスターノードは使用できません。

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 インデックスを作成することはサポートされていません。

RDS インスタンスのメジャーエンジンバージョンを MySQL 5.7 から MySQL 8.0 にアップグレードする前に、MySQL 5.7 を実行する RDS インスタンスに空間データ型の BTREE インデックスが含まれているかどうかを確認します。

MySQL 8.0 を実行する RDS インスタンスでは、空間データ型に 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';