Google Cloud SQLでMySQLのインスタンスを追加すると、タイムゾーンがUTCになる。これを、日本に変える方法のメモ。
タイムゾーンの確認のSQLと実行例。
MySQL [(none)]> SHOW VARIABLES LIKE '%time_zone%'
-> ;
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | UTC |
| time_zone | SYSTEM |
+------------------+--------+
2 rows in set (0.157 sec)
MySQL [(none)]>
変更方法
1. Google Cloudの管理画面にアクセスして、SQLの管理画面を開く。
2. 設定変更するインスタンスを開く。
3. 上部メニューの「開く」をクリックする。
4. 「フラグ」のところを広げる
5. 「データベースフラグを追加」をクリックする。
6. フラグ選択で、「default_time_zone」を選択する。
7. 値に、「Asia/Tokyo」を入力する(選択ではなくて、入力する)。
8. 保存する。
9. 保存後に、インスタンスの再起動が必要になるので、再起動する。

設定変更後に確認した例。
システム側はUTCのままだが、アクセスしたとき(セッション)のタイムゾーンは、Asia/Tokyoに変わっており、現在時刻を取得した際の時間も日本時間になっていた。
MySQL [(none)]> SHOW VARIABLES LIKE '%time_zone%';
+------------------+------------+
| Variable_name | Value |
+------------------+------------+
| system_time_zone | UTC |
| time_zone | Asia/Tokyo |
+------------------+------------+
2 rows in set (0.159 sec)
MySQL [(none)]> select now();
+---------------------+
| now() |
+---------------------+
| 2023-12-11 13:50:43 |
+---------------------+
1 row in set (0.154 sec)
MySQL [(none)]>