Azure コマンド ライン ユーティリティである Azure CLI を使用すると、Azure Database for MySQL フレキシブル サーバー インスタンスのパラメーターの一覧表示、表示、更新を行えます。 このサーバー パラメーターは、サーバーの作成時に既定値と推奨値を使用して構成されます。
この記事では、Azure CLI を使用して、サーバー パラメーターの一覧表示、表示、および更新を行う方法について説明します。
Note
サーバー パラメーターは、サーバー レベルでグローバルに更新できます。「Azure CLI を使用して Azure Database for MySQL - フレキシブル サーバーのサーバー パラメーターを構成する」または「Azure portal を使用して Azure Database for MySQL - フレキシブル サーバーのサーバー パラメーターを構成する」を使用します
前提条件
このハウツー ガイドの手順を実行するには、以下が必要です。
- クイックスタート: Azure CLI を使用して 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 privileges(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 を必要なタイム ゾーンにグローバルに更新する必要があります。