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

 

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

今回はAzure Database for MariaDBのTime Zone設定について、一連の作業実施内容のメモを記載します。

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

まず、いつも通りサーバパラメータを設定してみます。

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

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

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

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

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

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

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

https://docs.microsoft.com/ja-jp/azure/mariadb/howto-server-parameters#working-with-the-time-zone-parameter

実際に実施してみます。今回は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に設定されている事が確認できました。