Azure CLI を使用して Azure Database for MySQL のサーバー パラメータを構成する

適用対象: Azure Database for MySQL - シングル サーバー

重要

Azure Database for MySQL の単一サーバーは提供終了パスにあります。 Azure Database for MySQL フレキシブル サーバーにアップグレードすることを強くお勧めします。 Azure Database for MySQL フレキシブル サーバーへの移行の詳細については、「Azure Database for MySQL 単一サーバーの動作」を参照してください

Azure コマンド ライン ユーティリティ である Azure CLI を使用して、Azure Database for MySQL サーバーの構成パラメーターを一覧表示、表示、および更新できます。 エンジン構成のサブセットは、サーバー レベルで公開され、変更が可能です。

Note

サーバー パラメーターについては、Azure CLIPowerShell、または Azure portal を使用して、サーバー レベルでグローバルに更新できます。

前提条件

このハウツー ガイドの手順を実行するには、以下が必要です。

Azure Database for MySQL サーバーのサーバー構成パラメーターを一覧表示する

サーバー内の変更可能なすべてのパラメーターとその値を一覧表示するには、az mysql server configuration list コマンドを実行します。

リソース グループ myresourcegroup にあるサーバー mydemoserver.mysql.database.azure.com のサーバー構成パラメーターを一覧表示できます。

az mysql server configuration list --resource-group myresourcegroup --server mydemoserver

一覧表示されている各パラメーターの定義については、「MySQL reference」(MySQL リファレンス) の「Server System Variables」(サーバー システム変数) セクションをご覧ください。

サーバー構成パラメーター詳細を表示する

サーバーの特定の構成パラメーターに関する詳細を表示するには、az mysql server configuration show コマンドを実行します。

この例は、リソース グループ myresourcegroup にあるサーバー mydemoserver.mysql.database.azure.comslow_query_log サーバー構成パラメーターの詳細を示します。

az mysql server configuration show --name slow_query_log --resource-group myresourcegroup --server mydemoserver

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

特定のサーバー構成パラメーターの値を変更することもでき、MySQL サーバー エンジンの基盤となる構成値が更新されます。 構成を更新するには、az mysql server configuration set コマンドを使用します。

リソース グループ myresourcegroup にあるサーバー mydemoserver.mysql.database.azure.comslow_query_log サーバー構成パラメーターを更新するには、次のコマンドを実行します。

az mysql server configuration set --name slow_query_log --resource-group myresourcegroup --server mydemoserver --value ON

構成パラメーターの値をリセットする際に、省略可能な --value パラメーターを指定しない場合、サービスでは既定値を適用します。 上記の例の場合、以下のようになります。

az mysql server configuration set --name slow_query_log --resource-group myresourcegroup --server mydemoserver

このコードは、slow_query_log 構成を既定値 OFF にリセットします。

設定パラメーターが一覧に含まれていない

更新するサーバー パラメーターが Azure portal に一覧表示されていない場合は、必要に応じて init_connect を使用して、接続レベルでパラメーターを設定できます。 これにより、サーバーに接続する各クライアントのサーバー パラメーターが設定されます。

リソース グループ myresourcegroup にあるサーバー mydemoserver.mysql.database.azure.cominit_connect サーバー構成パラメーターを更新して、文字セットなどの値を設定します。

az mysql server configuration set --name init_connect --resource-group myresourcegroup --server mydemoserver --value "SET character_set_client=utf8;SET character_set_database=utf8mb4;SET character_set_connection=latin1;SET character_set_results=latin1;"

タイム ゾーン パラメーターを使用する

タイム ゾーン テーブルに入力する

サーバーのタイム ゾーン テーブルには、MySQL コマンド ラインや MySQL Workbench などのツールから mysql.az_load_timezone ストアド プロシージャを呼び出すことでデータを入力できます。

注意

MySQL Workbench から mysql.az_load_timezone コマンドを実行するとき、場合によっては、SET SQL_SAFE_UPDATES=0; を利用し、最初にセーフ アップデート モードをオフにする必要があります。

CALL mysql.az_load_timezone();

重要

タイム ゾーン テーブルにデータが正しく入力されるようにするには、サーバーを再起動する必要があります。 サーバーを再起動するには、Azure portal または CLI を使用します。

利用可能なタイム ゾーン値を表示するには、次のコマンドを実行します。

SELECT name FROM mysql.time_zone_name;

グローバル レベルのタイム ゾーンを設定する

グローバル レベルのタイム ゾーンは、az mysql server configuration set コマンドを利用して設定できます。

次のコマンドでは、リソース グループ myresourcegroup のサーバー mydemoserver.mysql.database.azure.com のサーバー構成パラメーター time_zoneUS/Pacific に更新されます。

az mysql server configuration set --name time_zone --resource-group myresourcegroup --server mydemoserver --value "US/Pacific"

セッション レベルのタイム ゾーンを設定する

セッション レベルのタイム ゾーンは、MySQL コマンド ラインや MySQL Workbench などのツールから SET time_zone コマンドを実行することで設定できます。 下の例では、タイム ゾーンが US/Pacific タイム ゾーンに設定されます。

SET time_zone = 'US/Pacific';

日付と時刻関数については MySQL ドキュメントを参照してください。

次のステップ