Azure Database for MariaDBのTime Zone設定をしてみた

Azure,Database for MariaDB

Azure Database for MariaDBのTime Zone設定ですが、何もせずにAzure Portalを利用してサーバパラメータの設定を行うとエラーになります。

今回はAzure Database for MariaDBのTime Zone設定について、調べて設定した結果をメモとして残しておきます。

スポンサーリンク

Azure Database for MariaDBでTime Zoneを設定するとエラーが表示される

何もせずにAzure Database for MariaDBでサーバパラメータを設定してみます。

設定のサーバパラメータを選択すると、下記のようにMariaDBのパラメータが表示されます。

下の方に行くと、TimeZoneの設定があり、デフォルトでは下記の通りsystemが表示されています。

これを下記の通り、Asia/Tokyoに設定し、保存してみます。

そうすると、以下のようなメッセージがAzure Portalに表示され保存ができません。

非常に誤解されそうなエラーメッセージが表示されます。

Azure Database for MariaDBで正しくTime Zone設定をしてみる

調べてみた結果、マイクロソフト公式サイトに記載がある通り、事前にストアド プロシージャを呼びだす必要がありました。

タイム ゾーン パラメーターを使用する(公式サイト)

 

実際に実施してみます。今回はAzure Database for MariaDBに接続可能なCent OSの端末から実施しています。

#DBログイン時にAzure Database for MariaDBサーバ管理者のパスワードが必要になりますので適時入力してください。

[user@server ]#mysql -h サーバ名 -u サーバ管理者名 -p –ssl

#TimeZoneを引いてみます。初期設定のSYSTEMが戻ってきます。

MySQL [(none)]>select @@time_zone;
+————-+
| @@time_zone |
+————-+
| SYSTEM |
+————-+
1 row in set (0.003 sec)

#TimeZoneのストアドプロシージャを呼び出します

MySQL [(none)]>CALL mysql.az_load_timezone();

ストアドプロシージャを呼び出した後に、再起動するように記載がありましたので、再起動を実行します。

Auzre Portalの概要に戻ると、再起動が表示されますので、こちらをクリックします。しばらくすると再起動が完了します。

再起動後、再度以下のようにTimeZoneを設定し、保存をクリックします。

そうすると、今度はちゃんと保存されました。

DB上でTime Zoneを確認してみます。

#再度DBに接続し、SQLを実行します。

[user@server ]#mysql -h サーバ名 -u サーバ管理者名 -p –ssl

MySQL [(none)]> select @@time_zone;
+————-+
| @@time_zone |
+————-+
| Asia/Tokyo |
+————-+
1 row in set (0.003 sec)

Asia/Tokyoに設定されている事が確認できました。