Mysql

MySQL 不遵循 Ubuntu 系統時區

  • December 21, 2017

Ubuntu 16.04 伺服器的時區設置為America/New_York使用命令

sudo timedatectl set-timezone America/New_York

這可以通過執行命令來確認

timedatectl 狀態 | grep “時區”

Time zone: America/New_York (EST, -0500)

日期 +%Z

EST

但是 MySQL 認為系統的時區仍然是UTC. MySQL 5.7 伺服器(在 docker 容器中執行)在查詢 MySQL 時區之前已重新啟動

MySQL 查詢的輸出show global variables like '%time_zone'

system_time_zone UTC
time_zone SYSTEM

出事了嗎?

你說你在docker裡面執行mysql。Docker 需要時區作為環境變數,如下所示:

將以下內容添加到 docker 中的 mysql 啟動命令中:

-e TZ='America/New_York' 

https://github.com/docker-library/mysql/issues/320

引用自:https://dba.stackexchange.com/questions/193427