次の方法で共有


Azure Database for MySQL - フレキシブル サーバーでの制限

この記事では、Azure Database for MySQL フレキシブル サーバーでの制限事項について説明します。 MySQL データベース エンジンでの一般的な制限事項も適用されます。 リソースの制限 (コンピューティング、メモリ、ストレージ) の詳細については、コンピューティングとストレージに関する記事を参照してください。

サーバー パラメーター

Azure Database for MySQL フレキシブル サーバーでは、サーバー パラメーターの値のチューニングがサポートされています。 一部のパラメーターの最小値と最大値 (max_connectionsjoin_buffer_sizequery_cache_size など) は、サーバーのサイズを計算する前にコンピューティング レベルによって決まります。 これらの制限と、max_connectionsinnodb_buffer_pool_size などのサーバー パラメーターの最小値と最大値の詳細については、サーバー パラメーターに関する記事を参照してください。

生成された非表示の主キー

MySQL バージョン 8.0 以降では、すべての Azure Database for MySQL - フレキシブル サーバー インスタンスに対して、生成された非表示主キー (GIPK) が既定で有効になっています。

MySQL 8.0 以降のサーバーでは、非表示の列 my_row_id がテーブルに追加され、その列で主キーが追加されます。InnoDB テーブルは明示的な主キーなしで作成されます。 このため、テーブル作成ステートメントで明示的な主キーも指定されていない限り、my_row_id という名前の列を持つテーブルを作成することはできません。 詳細情報。

既定では、GIPK は SHOW CREATE TABLESHOW COLUMNSSHOW INDEX の出力に表示されます。 また、INFORMATION_SCHEMA COLUMNSSTATISTICS テーブルにも GIPK が表示されます。

GIPK とそのデータイン レプリケーションを使用するユース ケースの詳細については、「データを Azure Database for MySQL - フレキシブル サーバーにレプリケートする」を参照してください。

GIPK を無効にする手順

GIPK を無効にする場合は、次の 2 つのオプションがあります。

  • Azure portal または Azure CLI を使用して、sql_generate_invisible_primary_key サーバー パラメーターの値を OFF に変更します。

  • Azure Database for MySQL - フレキシブル サーバー インスタンスに接続し、次のコマンドを実行します。

    mysql> SET sql_generate_invisible_primary_key=OFF;
    

lower_case_table_names

Azure Database for MySQL - フレキシブル サーバーでは、MySQL バージョン 5.7 の lower_case_table_names の既定値は 1 です。 この設定を調整する必要がある場合は、サポート チケットを作成することをお勧めします。 パラメーター値を 2 に変更した後は、それを 1 に戻すことができないことを理解することが重要です。

MySQL バージョン 8.0 の場合、サーバーの初期化後に lower_case_table_names 設定を変更することは禁止されています。 詳細情報。 Azure Database for MySQL - フレキシブル サーバーでは、MySQL バージョン 8.0 の lower_case_table_names の既定値は 1 です。 このパラメーターを 2 に変更する場合は、MySQL 5.7 サーバーを作成し、変更に関するサポート チケットを作成することをお勧めします。 後で必要に応じて、サーバーをバージョン 8.0 にアップグレードできます。

ストレージ エンジン

MySQL では多くのストレージ エンジンがサポートされています。 次の一覧は、Azure Database for MySQL - フレキシブル サーバーでサポートされている、およびサポートされていないストレージ エンジンを示しています。

サポートされているエンジン

サポートされていないエンジン

特権とデータ操作のサポート

サーバーのパラメーターや設定の多くは、誤ってサーバーのパフォーマンスを低下させたり、MySQL サーバーの ACID (原子性、一貫性、分離性、持続性) プロパティを無効にしたりする可能性があります。 サービスの整合性とサービス レベル アグリーメントを製品レベルで維持するために、Azure Database for MySQL - フレキシブル サーバーは複数のロールを公開しません。

Azure Database for MySQL - フレキシブル サーバーでは、基になるファイル システムへの直接アクセスは許可されません。 一部のデータ操作コマンドはサポートされていません。

サポートされる特権

  • LOAD DATA INFILE はサポートされていますが、[LOCAL] パラメーターを指定して、それを UNC パス (サーバー メッセージ ブロックを介してマウントされた Azure ストレージ) に転送する必要があります。 MySQL クライアント バージョン 8.0 以降を使用している場合は、接続文字列に -–local-infile=1 パラメーターを含める必要があります。

  • MySQL バージョン 8.0 以降では、次の動的特権のみがサポートされています。

サポートされていない特権

  • データベース管理者 (DBA) のロールは制限されています。 または、新しいサーバーの作成時に割り当てられた管理者ユーザーのロールを使用することもできます。 このロールを使用すると、ほとんどのデータ定義言語 (DDL) およびデータ操作言語 (DML) ステートメントを実行できます。

  • 次の静的特権が制限されています。

  • 移行ツールを使用してバックアップを作成する場合、BACKUP_ADMIN 特権の付与はサポートされていません。

  • DEFINER は作成に SUPER 特権が必要であり、制限されています。 バックアップを使用してデータをインポートしている場合は、CREATE DEFINER コマンドを手動で削除するか、mysqlpump バックアップを実行するときに --skip-definer コマンドを使用します。

  • mysql システム データベースは読み取り専用で、さまざまなサービスとしてのプラットフォーム (PaaS) 機能をサポートしています。 mysql システム データベースを変更することはできません。

  • SELECT ... INTO OUTFILE はサービスではサポートされていません。

機能制限

ゾーン冗長の高可用性

ゾーン冗長高可用性構成は、サーバーの作成時にのみ設定できます。 この構成は、バースト可能コンピューティング レベルではサポートされていません。

ネットワーク

サーバーの作成後に接続方法を変更することはできません。 "プライベート アクセス (仮想ネットワーク統合)" でサーバーを作成した場合、作成後に "パブリック アクセス (許可された IP アドレス)" に変更することはできません。その逆も同様です。

停止/開始操作

サーバーを停止および起動する操作は、読み取りレプリカ構成 (ソースとレプリカの両方) ではサポートされていません。

スケール操作

プロビジョニングされたサーバー ストレージの縮小はサポートされていません。

サーバー バージョンのアップグレード

データベース エンジンのメジャー バージョン間での自動移行はサポートされていません。 メジャー バージョンをアップグレードする場合は、新しいエンジン バージョンで作成したサーバー上でダンプと復元を使用します。

サーバーの復元

ポイントインタイム リストアを使用すると、新しいサーバーは、基になるソース サーバーと同じコンピューティング構成とストレージ構成になります。 新しく復元されたサーバーのコンピューティングは、サーバーを作成した後にスケールダウンできます。

機能比較

Azure Database for MySQL - 単一サーバーで使用できるすべての機能が Azure Database for MySQL - フレキシブル サーバーで使用できるわけではありません。

Azure Database for MySQL - 単一サーバーと Azure Database for MySQL - フレキシブル サーバーの機能比較の完全な一覧については、Azure での適切な MySQL サーバー オプションの選択に関する記事を参照してください。