今天發(fā)現(xiàn)有一個(gè)程序插入的時(shí)間不對(duì),而該字段是配置的默認(rèn)值 CURRENT_TIMESTAMP,初步判斷是數(shù)據(jù)庫(kù)的時(shí)區(qū)設(shè)置問(wèn)題。
查看時(shí)區(qū)
登錄數(shù)據(jù)庫(kù)查看時(shí)區(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)使用的時(shí)區(qū)是 EDT即北美的東部夏令時(shí)(-4h)。
- time_zone 表示 MySQL 采用的是系統(tǒng)的時(shí)區(qū)。也就是說(shuō),如果在連接時(shí)沒(méi)有設(shè)置時(shí)區(qū)信息,就會(huì)采用這個(gè)時(shí)區(qū)配置。
修改時(shí)區(qū)
修改時(shí)區(qū)的辦法如下:
# 僅修改當(dāng)前會(huì)話的時(shí)區(qū),停止會(huì)話失效
set time_zone = '+8:00';
# 修改全局的時(shí)區(qū)配置
set global time_zone = '+8:00';
flush privileges;
當(dāng)然,也可以通過(guò)修改配置文件(my.cnf)的方式來(lái)實(shí)現(xiàn)配置,不過(guò)需要重啟服務(wù)。
# vim /etc/my.cnf ##在[mysqld]區(qū)域中加上
default-time_zone = '+8:00'
# /etc/init.d/mysqld restart ##重啟mysql使新時(shí)區(qū)生效
話說(shuō),跟中國(guó)不一樣的是,美國(guó)有4個(gè)時(shí)區(qū)...

總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。
您可能感興趣的文章:- mysql解決時(shí)區(qū)相關(guān)問(wèn)題
- 關(guān)于Java中的mysql時(shí)區(qū)問(wèn)題詳解
- MySQL修改時(shí)區(qū)的方法小結(jié)
- 詳解MySQL查詢(xún)時(shí)區(qū)分字符串中字母大小寫(xiě)的方法
- mysql時(shí)區(qū)問(wèn)題
- 解決MySQL8.0時(shí)區(qū)的問(wèn)題步驟