1. 程式人生 > 資料庫 >MySQL檢視和修改時區的方法

MySQL檢視和修改時區的方法

今天發現有一個程式插入的時間不對,而該欄位是配置的預設值 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個時區...

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對我們的支援。