Amazon RDS での MySQL 機能のサポート - Amazon Relational Database Service

Amazon RDS での MySQL 機能のサポート

RDS for MySQL は MySQL のほとんどの特徴と機能をサポートしています。一部の機能には、制限付きのサポートまたは制限された特権があります。

[What's New with Database?] (データベースの新機能) ページで新しい Amazon RDS 機能をフィルタリングできます。[製品] で [Amazon RDS] を選択します。その後、MySQL 2022 などのキーワードを使用して検索します。

注記

以下のリストは完全なものではありません。

RDS for MySQL のサポートされているストレージエンジン

MySQL では、さまざまな機能を備えた複数のストレージエンジンがサポートされていますが、それらのすべてのエンジンが、回復性やデータ耐久性の高いのために最適化されているわけではありません。Amazon RDS は、MySQL DB インスタンス用の、InnoDB ストレージエンジンを完全にサポートしています。Amazon RDS でのポイントインタイムの復元とスナップショット復元機能には、回復可能なストレージエンジンが必要であり、InnoDB ストレージエンジンのみがサポートされています。詳細については、「MySQL の memcached サポート」を参照してください。

Federated ストレージエンジンは、現在、Amazon RDS for MySQL ではサポートされていません。

ユーザーが作成したスキーマの場合、MyISAM ストレージエンジンでは、信頼性の高い回復がサポートされておらず、エンジンの回復後に MySQL が再起動したとき、ポイントインタイム復元またはスナップショット復元が意図したとおりに機能せず、データが紛失または破損する場合があります。それでも Amazon RDS で MyISAM を使用する場合は、スナップショットがいくつかの条件下で役立つことがあります。

注記

mysql スキーマのシステムテーブルを MyISAM ストレージにできます。

既存の MyISAM テーブルを InnoDB テーブルに変換する場合、ALTER TABLE コマンド (例: alter table TABLE_NAME engine=innodb;) を使用できます。MyISAM と InnoDB の長所と短所は異なっているため、アプリケーションで切り替えた際の影響を切り替え前に十分に評価しておく必要があることを念頭に置いてください。

MySQL 5.1、5.5 および 5.6 は、Amazon RDS でサポートされなくなりました。ただし、既存の MySQL 5.1、5.5 および 5.6 スナップショットは復元できます。MySQL 5.1、5.5 および 5.6 スナップショットを復元すると、DB インスタンスが MySQL 5.7 に自動的にアップグレードされます。

Amazon RDS の MySQL での memcached およびその他のオプションの使用

ほとんどの Amazon RDS DB エンジンでは、DB インスタンスの追加機能を選択できる、オプショングループをサポートしています。RDS for MySQL DB インスタンスは、シンプルなキーベースのキャッシュである memcached オプションをサポートします。memcached およびその他のオプションの詳細については、「MySQL DB インスタンスのオプション」を参照してください。オプショングループの操作方法の詳細については、「オプショングループを使用する」を参照してください。

Amazon RDS の MySQL に対する InnoDB キャッシュウォーミング

InnoDB キャッシュウォームアップでは、DB インスタンスがシャットダウンされたときのバッファープールの最新の状態を保存し、DB インスタンスが起動されたときに保存された情報からバッファープールを再ロードすることによって、MySQL DB インスタンスのパフォーマンスを向上させることができます。これにより、通常のデータベースの使用からバッファープールを「ウォームアップする」必要がなくなり、既知の一般的なクエリのページを使用してバッファープールを事前にロードします。保存されたバッファープール情報を格納するファイルには、バッファープールのページ自体ではなく、バッファープール内のページのメタデータのみが格納されます。そのため、このファイルは多くのストレージ領域を必要としません。ファイルサイズは、キャッシュサイズの約 0.2% となります。例えば、64 GiB のキャッシュでは、キャッシュのウォームアップファイルのサイズは 128 MiB です。InnoDB キャッシュウォームアップの詳細については、MySQL ドキュメントの「バッファプールの状態の保存とリストア」を参照してください。

RDS for MySQL DB インスタンスは、InnoDB キャッシュウォーミングをサポートしています。InnoDB キャッシュウォームアップを有効にするには、DB インスタンスのパラメータグループで innodb_buffer_pool_dump_at_shutdown および innodb_buffer_pool_load_at_startup パラメータを 1 に設定します。パラメータグループのこれらのパラメータ値を変更すると、パラメータグループを使用するすべての MySQL DB インスタンスに影響します。特定の MySQL DB インスタンスの InnoDB キャッシュウォームアップを有効にするには、それらのインスタンスの新しいパラメータグループを作成することが必要になる場合があります。パラメータグループについては、「Amazon RDS のパラメータグループ」を参照してください。

InnoDB キャッシュウォームアップは、主に、スタンダードストレージを使用している DB インスタンスにパフォーマンス上のメリットをもたらします。PIOPS ストレージを使用する場合、一般的に大きなパフォーマンス上のメリットは見られません。

重要

フェイルオーバー時など、MySQL DB インスタンスが正常にシャットダウンしなかった場合、バッファープールの状態はディスクに保存されません。この場合、DB インスタンスが再開されるときに、MySQL は利用可能なバッファープールファイルをロードします。特に害はありませんが、復元されたバッファープールは、再開前のバッファープールの最新の状態を反映していない可能性があります。起動時に InnoDB キャッシュをウォームアップするために、バッファープールの最新の状態が利用できるようにするには、定期的に「オンデマンド」でバッファープールをダンプすることをお勧めします。

自動で定期的にバッファープールをダンプするイベントを作成できます。例えば、次のステートメントは、1 時間ごとにバッファープールをダンプする periodic_buffer_pool_dump という名前のイベントを作成します。

CREATE EVENT periodic_buffer_pool_dump ON SCHEDULE EVERY 1 HOUR DO CALL mysql.rds_innodb_buffer_pool_dump_now();

MySQL のイベントの詳細については、MySQL ドキュメントの「イベントの構文」を参照してください。

オンデマンドでのバッファープールのダンプとロード

InnoDB キャッシュを「オンデマンド」で保存およびロードできます。

Amazon RDS でサポートされていない MySQL の機能

現在、Amazon RDS では MySQL の以下の機能はサポートされていません。

  • 認証用プラグイン

  • システムログへのエラーログ記録

  • InnoDB テーブル領域の暗号化

  • パスワード強度用プラグイン

  • 永続的システム可変

  • リライタクエリ書き換えプラグイン

  • 準同期レプリケーション

  • トランスポータブルテーブルスペース

  • X プラグイン

注記

グローバルトランザクション ID は、RDS for MySQL 5.7 バージョンおよび RDS for MySQL 8.0.26 以降の 8.0 バージョンでサポートされています。

マネージドサービスエクスペリエンスを提供するために、Amazon RDS は DB インスタンスへのシェルアクセスを提供していません。また、高度な特権を必要とする特定のシステムプロシージャやテーブルへのアクセスを制限しています。Amazon RDS は、任意のスタンダード SQL クライアントアプリケーションによる、DB インスタンス上のデータベースへのアクセスがサポートされています。Amazon RDS では、Telnet、Secure Shell (SSH)、または Windows のリモートデスクトップ接続を使用しての、DB インスタンスに対するダイレクトホストアクセスは行えません。DB インスタンスを作成するユーザーには、DB インスタンスのすべてのデータベースに対する db_owner が割り当てられ、すべてのデータベースレベルのアクセス許可 (バックアップ用を除く) が付与されます。バックアップは、Amazon RDS により自動的に実行されます。