NOW() した際に UTC になっていたので、JST にしようとしたところはまった。 まず MySQL のタイムゾーンは複数ある。 mysql> SELECT @@system_time_zone, @@global.time_zone, @@session.time_zone;をするとわかります。 @@system_time_zone はシステムタイムゾーンと言われるもので、ホストマシンのタイムゾーンを特定して、これを使用してシステム変数で設定しようとする。mysqld を起動した後は変更しない。起動時に明示的に設定することができる。 @@global.time_zone はサーバの現在のタイムゾーンで、サーバが現在動作しているタイムゾーンを示す。初期値は'SYSTEM'で、サーバのタイムゾーンがシステムタイムゾーンと同じことを表す。 @@session.time_zone は接続ごと
![MySQL の now() とタイムゾーンの関係 - 新しい日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/198be5ce55f6018437e1988bbe1b70246dc3e064/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Ft%2Ftttttahiti%2F20151130%2F20151130154502.png)