今天發(fā)現(xiàn)有一個程序插入的時間不對,而該字段是配置的默認值 CURRENT_TIMESTAMP,初步判斷是數(shù)據(jù)庫的時區(qū)設置問題。
查看時區(qū)
登錄數(shù)據(jù)庫查看時區(qū)配置:
mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | EDT |
| time_zone | SYSTEM |
+------------------+--------+
2 rows in set (0.00 sec)
- system_time_zone 表示系統(tǒng)使用的時區(qū)是 EDT即北美的東部夏令時(-4h)。
- time_zone 表示 MySQL 采用的是系統(tǒng)的時區(qū)。也就是說,如果在連接時沒有設置時區(qū)信息,就會采用這個時區(qū)配置。
修改時區(qū)
修改時區(qū)的辦法如下:
# 僅修改當前會話的時區(qū),停止會話失效
set time_zone = '+8:00';
# 修改全局的時區(qū)配置
set global time_zone = '+8:00';
flush privileges;
當然,也可以通過修改配置文件(my.cnf)的方式來實現(xiàn)配置,不過需要重啟服務。
# vim /etc/my.cnf ##在[mysqld]區(qū)域中加上
default-time_zone = '+8:00'
# /etc/init.d/mysqld restart ##重啟mysql使新時區(qū)生效
話說,跟中國不一樣的是,美國有4個時區(qū)...
![](http://img.jbzj.com/file_images/article/201908/20198795412984.jpg?2019779550)
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。
您可能感興趣的文章:- mysql解決時區(qū)相關問題
- 關于Java中的mysql時區(qū)問題詳解
- MySQL修改時區(qū)的方法小結
- 詳解MySQL查詢時區(qū)分字符串中字母大小寫的方法
- mysql時區(qū)問題
- 解決MySQL8.0時區(qū)的問題步驟