MySQLのタイムゾーンをチェック

こんにちは、さるまりんです。

MySQLで

select current_timestamp;

として、現在の日時を取得しようとすると、なぜか-9時間の日時が取れる。。

-9時間といえばUTCでとれているということかなと思いMySQLのタイムゾーンをチェック。

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

やはりそのようです。

/etc/my.cnfで設定を変更します。

[mysqld]
default-time-zone = 'Asia/Tokyo'

MySQLを再起動して、再度確認です。

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

変更完了です。

これでcurrent_timestampnow()でJSTの日時をとることができるようになりました。

あれ?となったら確認する。大切ですね。

読んでくださってありがとうございます。

それではまた!