Azure CLI を使用して Azure Database for MySQL - フレキシブル サーバーのサーバー パラメーターを構成する
適用対象: Azure Database for MySQL - フレキシブル サーバー
Azure コマンド ライン ユーティリティである Azure CLI を使用すると、Azure Database for MySQL フレキシブル サーバー インスタンスのパラメーターの一覧表示、表示、更新を行えます。 このサーバー パラメーターは、サーバーの作成時に既定値と推奨値を使用して構成されます。
この記事では、Azure CLI を使用して、サーバー パラメーターの一覧表示、表示、および更新を行う方法について説明します。
注意
サーバー パラメーターは、Azure CLI または Azure portal を使用して、サーバー レベルでグローバルに更新できます。
前提条件
このハウツー ガイドの手順を実行するには、以下が必要です。
- Azure Database for MySQL フレキシブル サーバーのインスタンス
- Azure CLI コマンドライン ユーティリティ。または、ブラウザーで Azure Cloud Shell を使用する。
Azure Database for MySQL フレキシブル サーバー インスタンスのサーバー パラメーターの一覧を表示する
Azure Database for MySQL フレキシブル サーバー インスタンスのすべてのパラメーターとその値を一覧表示するには、az mysql flexible-server parameter list コマンドを実行します。
リソース グループ myresourcegroup にあるサーバー mydemoserver.mysql.database.azure.com のサーバー パラメーターを一覧表示できます。
az mysql flexible-server parameter list --resource-group myresourcegroup --server-name mydemoserver
一覧表示されている各パラメーターの定義については、「MySQL reference」(MySQL リファレンス) の「Server System Variables」(サーバー システム変数) セクションをご覧ください。
サーバー パラメーターの詳細を表示する
Azure Database for MySQL フレキシブル サーバー インスタンスの特定のパラメーターに関する詳細を表示するには、az mysql flexible-server parameter show コマンドを実行します。
この例は、リソース グループ myresourcegroup にあるサーバー mydemoserver.mysql.database.azure.com の slow_query_log サーバー パラメーターの詳細を示します。
az mysql flexible-server parameter show --name slow_query_log --resource-group myresourcegroup --server-name mydemoserver
サーバー パラメーター値を変更する
Azure Database for MySQL フレキシブル サーバー インスタンスの特定パラメーターの値を変更することもできます。そうすると、MySQL サーバー エンジンの基盤となる構成値が更新されます。 サーバー パラメーターを更新するには、az mysql flexible-server parameter set コマンドを使用します。
リソース グループ myresourcegroup 以下のサーバー mydemoserver.mysql.database.azure.com の slow_query_log サーバー パラメーターを更新します。
az mysql flexible-server parameter set --name slow_query_log --resource-group myresourcegroup --server-name mydemoserver --value ON
リソース グループ myresourcegroup にあるサーバー mydemoserver.mysql.database.azure.com の複数のサーバー パラメーター (slow_query_log、 audit_log_enabled など) を更新します。
az mysql flexible-server parameter set-batch -resource-group myresourcegroup --server-name mydemoserver --source "user-override" --args slow_query_log="ON" audit_log_enabled="ON"
パラメーターの値をリセットする際に、省略可能な --value
パラメーターを指定しない場合、サービスには既定値が適用されます。 上記の例の場合、以下のようになります。
az mysql flexible-server parameter set --name slow_query_log --resource-group myresourcegroup --server-name mydemoserver
このコードを使うと、slow_query_log が既定値の OFF にリセットされます。
変更不可のサーバー パラメーターの設定
Azure Database for MySQL フレキシブル サーバーで更新するパラメーターが変更不可の場合は、必要に応じて init_connect
を使用すると、接続レベルでパラメーターを設定できます。 これにより、サーバーに接続する各クライアントのサーバー パラメーターが設定されます。
リソース グループ myresourcegroup にあるサーバー mydemoserver.mysql.database.azure.com の init_connect サーバー パラメーターを更新して、文字セットなどの値を設定します。
az mysql flexible-server parameter set --name init_connect --resource-group myresourcegroup --server-name mydemoserver --value "SET character_set_client=utf8;SET character_set_database=utf8mb4;SET character_set_connection=latin1;SET character_set_results=latin1;"
注意
init_connect
を使用すると、セッション レベルで SUPER 特権を必要としないパラメーターを変更することができます。 init_connect
を使用してパラメーターを設定できるかどうかを確認するには、set session parameter_name=YOUR_DESIRED_VALUE;
コマンドを実行し、"Access denied; you need SUPER privilege(s) "(アクセスが拒否されました。SUPER 特権が必要です) エラーが発生する場合は、'init_connect' を使用してパラメーターを設定することはできません。
タイム ゾーン パラメーターを使用する
グローバル レベルのタイム ゾーンを設定する
グローバル レベルのタイム ゾーンは、az mysql flexible-server parameter set コマンドを使用して設定できます。
次のコマンドを使うと、リソース グループ myresourcegroup のサーバー mydemoserver.mysql.database.azure.com のサーバー パラメーター time_zone が US/Pacific に更新されます。
az mysql flexible-server parameter set --name time_zone --resource-group myresourcegroup --server-name mydemoserver --value "US/Pacific"
セッション レベルのタイム ゾーンを設定する
セッション レベルのタイム ゾーンは、MySQL コマンド ラインや MySQL Workbench などのツールから SET time_zone
コマンドを実行することで設定できます。 下の例では、タイム ゾーンが US/Pacific タイム ゾーンに設定されます。
SET time_zone = 'US/Pacific';
日付と時刻関数については MySQL ドキュメントを参照してください。
注意
セッション レベルでタイム ゾーンを変更するには、mysql.time_zone_name テーブルを更新するため、少なくとも 1 回はサーバー パラメーター time_zone を必要なタイム ゾーンにグローバルに更新する必要があります。
次のステップ
- Azure ポータルでサーバー パラメーターを構成する方法