MySQL current_timestampのタイムゾーン設定方法

Laravelなどのフレームワークからセットするcreated_atやupdated_atカラムに正しい時刻がセットされている場合見落としがちなのがMySQLのタイムゾーン設定からセットされるcurrent_timestampである。

MySQLのタイムゾーンを確認

select current_timestamp;

-9時間の時刻が返ってきたらUTCとなっている。

日本時刻に設定

/etc/my.cnfに以下を追記

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

docker-compose.ymlの場合は、dbセクションのcommandに追記すればOK

  db:
    command: --default-time-zone=Asia/Tokyo

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です