通過show variables like '%time_zone%';
查看時區:
CST 時區
名為 CST 的時區是一個很混亂的時區,有四種含義:
- 美國中部時間 Central Standard Time (USA) UTC-06:00
- 澳大利亞中部時間 Central Standard Time (Australia) UTC+09:30
- 中國標准時 China Standard Time UTC+08:00
- 古巴標准時 Cuba Standard Time UTC-04:00
如果你遇到時間不對的情況,CST代表的不是中國標准時間
解決方法:
解決方案
解決辦法也很簡單,明確指定 MySQL 數據庫的時區,不使用引發誤解的 CST
:
mysql> set global time_zone = '+08:00'; Query OK, 0 rows affected (0.00 sec) mysql> set time_zone = '+08:00'; Query OK, 0 rows affected (0.00 sec)
或者修改 my.cnf
文件,在 [mysqld]
節下增加 default-time-zone = '+08:00'
。
修改時區操作影響深遠,需要重啟 MySQL 服務器,建議在維護時間進行。