MySQL檢視和修改時區的方法
阿新 • • 發佈:2020-01-09
今天發現有一個程式插入的時間不對,而該欄位是配置的預設值 CURRENT_TIMESTAMP,初步判斷是資料庫的時區設定問題。
檢視時區
登入資料庫檢視時區配置:
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 表示系統使用的時區是 EDT即北美的東部夏令時(-4h)。
- time_zone 表示 MySQL 採用的是系統的時區。也就是說,如果在連線時沒有設定時區資訊,就會採用這個時區配置。
修改時區
修改時區的辦法如下:
# 僅修改當前會話的時區,停止會話失效 set time_zone = '+8:00'; # 修改全域性的時區配置 set global time_zone = '+8:00'; flush privileges;
當然,也可以通過修改配置檔案(my.cnf)的方式來實現配置,不過需要重啟服務。
# vim /etc/my.cnf ##在[mysqld]區域中加上 default-time_zone = '+8:00' # /etc/init.d/mysqld restart ##重啟mysql使新時區生效
話說,跟中國不一樣的是,美國有4個時區...
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對我們的支援。