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

適用対象: Azure Database for MySQL - フレキシブル サーバー

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

サーバー パラメーター

注意

  • max_connectionsinnodb_buffer_pool_size など、サーバー パラメーターの最小/最大値を求めている場合、この情報はサーバー パラメーターの概念 (サーバー パラメーターに関する記事) に移動しました。
  • lower_case_table_names値は、Azure Database for MySQL フレキシブル サーバーでは 1 にのみ設定できます。

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

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

MySQL バージョン 8.0 以降では、 生成された非表示の主キー (GIPK) は、すべての Azure Database for MySQL フレキシブル サーバー インスタンスに対して既定で有効になっています。 MySQL 8.0 以降のサーバーは、非表示の列 my_row_id をテーブルに追加し、その列の主キーを追加します。ここで、InnoDB テーブルは明示的な主キーなしで作成されます。 このため、テーブル作成ステートメントで明示的な主キーも指定されていない限り、my_row_idという名前の列を持つテーブルを作成することはできません。 詳細情報。 既定では、GIPK は SHOW CREATE TABLESHOW COLUMNSSHOW INDEX の出力に表示され、情報スキーマの COLUMNSSTATISTICS テーブルに表示されます。 AZURE Database for MySQL フレキシブル サーバーでの GIPK とそのデータインレプリケーションのユース ケースの詳細については、レプリケーション中の GIPK に関するページを参照してください。

GIPK を無効にする手順

  • 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 に変更されると、2 から 1 に戻すことはできない、ということを理解しておく必要があります。

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

ストレージ エンジン

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

サポートされています

サポートされていない

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

多くのサーバー パラメーターおよび設定によって、誤ってサーバー パフォーマンスを低下させたり、MySQL サーバーの ACID プロパティを負数にしてしまったりする恐れがあります。 製品レベルでサービスの整合性と SLA を維持するため、このサービスでは複数のロールは公開されていません。

MySQL サービスでは、基になるファイル システムに直接アクセスすることはできません。 一部のデータ操作コマンドはサポートされていません。

サポートされていない

次のものはサポートされていません。

  • DBA ロール:制限付き。 その代わりに、(新しいサーバーの作成時に作成される) 管理者ユーザー を使用すると、ほとんどの DDL および DML ステートメントを実行できます。
  • 以下の静的特権は制限付きです。
  • BACKUP_ADMIN 権限: ユーティリティ ツールを使用してバックアップを作成するための BACKUP_ADMIN 権限の付与はサポートされていません。 サポートされている動的特権の一覧については、サポートに関するセクションを参照してください。
  • DEFINER: 作成するには SUPER 権限が必要であり、制限されています。 バックアップを使用してデータをインポートする場合は、CREATE DEFINER コマンドを手動で削除するか、mysqlpump の実行時に --skip-definer コマンドを使用します。
  • システム データベース:mysql システム データベースは読み取り専用であり、さまざまな PaaS 機能をサポートするために使用されます。 mysql システム データベースを変更することはできません。
  • SELECT ... INTO OUTFILE:サービスではサポートされていません。

サポートされています

  • LOAD DATA INFILE はサポートされていますが、[LOCAL] パラメーターで UNC パス (SMB を介してマウントされた Azure ストレージ) を指定する必要があります。 さらに、MySQL クライアント バージョン 8.0 以上を使用している場合は、接続文字列に -–local-infile=1 パラメーターを含める必要があります。
  • バージョン MySQL 8.0 以降では、以下に示す動的特権のみがサポートされています。

機能制限

ゾーン冗長 HA

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

ネットワーク

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

停止/開始操作

  • 読み取りレプリカ構成 (ソースとレプリカの両方) ではサポートされていません。

スケール操作

  • プロビジョニング済みのサーバー ストレージを減らすことはできません。

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

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

サーバーの復元

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

機能比較

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

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

次のステップ