MySQLのタイムゾーンを変更する

Web、APサーバーと同じようにMySQLにもタイムゾーンがあります。

MySQLのタイムゾーンはセッション単位で変更するか、全体を変更するかの2パターンあります。

セッション単位

mysql> set time_zone = '+09:00';

全体

mysql> set global time_zone = '+09:00';

 以下で確認

mysql> show variables like 'time_zone';
mysql> show global variables like 'time_zone';

RDSなどの global が使えない環境では全体の変更ができません。

アプリからクエリを実行するときに毎回 set time_zone を入れるしか無いようです、

フレームワーク的にそれができない時は・・・・、now(), current_time()などで検索をおこなうのはやめましょう。