AWSのRDS(mysql)のタイムゾーンをAsia/Tokyoに変更する

こんにちは、nishi_talk(@nishi_talk)です。
AWSのRDS(mysql)のタイムゾーンがデフォルトだと、UTCだったので、Asia/Tokyoに変更する方法をご紹介します。




まずはデフォルの設定を確認。

mysql> select now();

+---------------------+
| now()               |
+---------------------+
| 2018-12-18 05:29:18 |
+---------------------+

mysql> show variables like '%time_zone';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| system_time_zone | UTC   |
| time_zone        | UTC   |
+------------------+-------+
2 rows in set (0.00 sec)

パラメータグループの作成

Amazon RDSの管理画面からパラメータグループを選択。
パラメータグループの作成を選ぶ。

パラメータグループの詳細で「グループ名」「説明」を記入して作成。
※今回はtimezone-asia-tokyoにします。

先程、作成したパラメータグループを選択して編集。
タイムゾーンを変更します。
検索窓に「time_zone」を入力。

time_zoneの項目を「Asia/Tokyo」に変更して保存します。

データベースのパラメータグループを変更

タイムゾーンを変更するデータベースを選択して編集。
データベースの設定の項目からDBのパラメータグループを先程作成したパラメータグループに変更して保存。

変更スケジュールをすぐに適用を選択して保存。

設定が終わったら、データベースを再起動します。

タイムゾーンが変更されたか確認

最後にタイムゾーンが変更されたか確認。



mysql> show variables like '%time_zone';
+------------------+------------+
| Variable_name    | Value      |
+------------------+------------+
| system_time_zone | UTC        |
| time_zone        | Asia/Tokyo |
+------------------+------------+
2 rows in set (0.00 sec)

これで変更できました。