

# MySQL 5.7 互換 Aurora MySQL バージョン 2
<a name="AuroraMySQL.CompareMySQL57"></a>

このトピックでは、Aurora MySQL バージョン 2 と MySQL 5.7 コミュニティエディションの違いについて説明します。

**重要**  
Aurora MySQL バージョン 2 は、2024 年 10 月 31 日 に標準サポートが終了しました。詳細については、「[Amazon Aurora MySQL 互換エディションバージョン 2 の標準サポート終了に向けて準備する](Aurora.MySQL57.EOL.md)」を参照してください。

## Aurora MySQL バージョン 2 ではサポートされていない機能
<a name="AuroraMySQL.CompareV2Community"></a>

次の機能は MySQL 5.7 ではサポートされていますが、現在、Aurora MySQL バージョン 2 ではサポートされていません。
+ `CREATE TABLESPACE` SQL ステートメント
+ グループのレプリケーションプラグイン
+ ページサイズの増加
+ 起動時の InnoDB バッファープールのロード
+ InnoDB フルテキストパーサープラグイン
+ マルチソースレプリケーション
+ オンラインバッファープールのサイズ変更
+ パスワード検証プラグイン – プラグインをインストールできますが、サポートされていません。プラグインをカスタマイズすることはできません。
+ クエリ書き換えプラグイン
+ レプリケーションフィルタリング
+ X プロトコル

これらの機能のの詳細については、[MySQL 5.7 のドキュメント](https://dev.mysql.com/doc/refman/5.7/en/)を参照してください。

## Aurora MySQL バージョン 2 での一時テーブルスペースの動作
<a name="AuroraMySQL.TempTables57"></a>

MySQL 5.7 では、一時テーブルスペースは自動的に拡張され、ディスク上の一時テーブルに対応できるように必要に応じてサイズが大きくなります。一時テーブルが削除されると、空いたスペースを新しい一時テーブルに再利用できますが、一時テーブルスペースは拡張されたサイズのままで縮小しません。一時テーブルスペースは、エンジンを再起動すると削除され、再作成されます。

Aurora MySQL バージョン 2 では、以下の動作が適用されます。
+ バージョン 2.10 以降で作成された新しい Aurora MySQL DB クラスターの場合、一時テーブルスペースは、データベースを再起動したときに削除され、再作成されます。これにより、動的なサイズ変更機能でストレージスペースを再利用できます。
+ 既存の Aurora MySQL DB クラスターを以下のようにアップグレードした場合:
  + バージョン 2.10 以上 - 一時テーブルスペースは、データベースを再起動したときに削除され、再作成されます。これにより、動的なサイズ変更機能でストレージスペースを再利用できます。
  + バージョン 2.09 — データベースを再起動しても、一時テーブルスペースは削除されません。

Aurora MySQL バージョン 2 の DB クラスターの一時テーブルスペースのサイズは、次のクエリを使用して確認できます。

```
SELECT
    FILE_NAME,
    TABLESPACE_NAME,
    ROUND((TOTAL_EXTENTS * EXTENT_SIZE) / 1024 / 1024 / 1024, 4) AS SIZE
FROM
    INFORMATION_SCHEMA.FILES
WHERE
    TABLESPACE_NAME = 'innodb_temporary';
```

詳細については、MySQL ドキュメントの「[一時テーブルスペース](https://dev.mysql.com/doc/refman/5.7/en/innodb-temporary-tablespace.html)」を参照してください。

## オンディスク一時テーブルのストレージエンジン
<a name="AuroraMySQL.StorageEngine57"></a>

Aurora MySQL バージョン 2 は、インスタンスのロールに応じて、オンディスク内部一時テーブルに異なるストレージエンジンを使用します。
+ ライターインスタンスでは、オンディスク一時テーブルはデフォルトで InnoDB ストレージエンジンを使用します。これらは Aurora クラスターボリュームの一時テーブルスペースに保存されます。

  DB パラメータ `internal_tmp_disk_storage_engine` の値を変更することで、ライターインスタンスのこの動作を変更できます。詳細については、「[インスタンスレベルのパラメータ](AuroraMySQL.Reference.ParameterGroups.md#AuroraMySQL.Reference.Parameters.Instance)」を参照してください。
+ リーダーインスタンスでは、オンディスク一時テーブルはローカルストレージを使用する MyISAM ストレージエンジンを使用します。これは、読み取り専用インスタンスでは Aurora クラスターボリュームにデータを保存できないためです。