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 CLI、PowerShell、または Azure portal を使用して、サーバー レベルでグローバルに更新できます。
前提条件
このハウツー ガイドの手順を実行するには、以下が必要です。
- Azure Database for MySQL サーバー
- Azure CLI コマンドライン ユーティリティ。または、ブラウザーで Azure Cloud Shell を使用する。
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.com の slow_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.com の slow_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.com の init_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_zone が US/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 ドキュメントを参照してください。
次のステップ
- Azure ポータルでサーバー パラメーターを構成する方法