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 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.comslow_query_log サーバー パラメーターの詳細を示します。

az mysql flexible-server parameter show --name slow_query_log --resource-group myresourcegroup --server-name mydemoserver

サーバー パラメーター値を変更する

MySQL サーバー エンジンの基になる構成値を更新する、特定の Azure Database for MySQL フレキシブル サーバー インスタンス パラメーターの値を変更することもできます。 サーバー パラメーターを更新するには、az mysql flexible-server parameter set コマンドを使用します。

リソース グループ myresourcegroup 以下のサーバー mydemoserver.mysql.database.azure.comslow_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_logaudit_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.cominit_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_zoneUS/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 を必要なタイム ゾーンにグローバルに更新する必要があります。

次のステップ