MySQL插入時(shí)間差八小時(shí)問題的解決方法
解決MySQL插入時(shí)間差八小時(shí)問題
一般 jdbc url中 需要添加幾個(gè)參數(shù) , 大多數(shù)博客給的教程都是 useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC 這幾個(gè)參數(shù),
配置結(jié)果為: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
對(duì)于解決時(shí)區(qū)問題,以前我也是這么用的 serverTimezone=UTC ,直到了今天踩到小坑了,才知道這不是萬能的.
首先正常插入一條記錄
發(fā)現(xiàn)數(shù)據(jù)庫(kù)的記錄時(shí)間和本地的時(shí)間不太一樣

第一種: 查看 mysql 中的時(shí)間
先在cmd中使用 mysql -u 用戶名 -p 密碼來登錄mysql
輸入select now();
查看MySQL時(shí)間

如果時(shí)間和你本地當(dāng)前時(shí)間一致
說明mysql的時(shí)間沒有問題, 問題就出現(xiàn)在java時(shí)間上
將jdbc url參數(shù)修改成 serverTimezone=Asia/Shanghai 試試.
第二種: 如果查詢 mysql 時(shí)間和本地不一致,使用以下語句設(shè)置mysql時(shí)區(qū)
show variables like '%time_zone%'; //查詢當(dāng)前時(shí)區(qū) set global time_zone='+8:00'; //在標(biāo)準(zhǔn)時(shí)區(qū)上加+8小時(shí),即東8區(qū)時(shí)間 flush privileges; # 立即生效
最終測(cè)試效果

成功
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
mysql報(bào)錯(cuò)ERROR 1396 (HY000): Operation ALT
這篇文章主要給大家介紹了關(guān)于mysql報(bào)錯(cuò)ERROR 1396 (HY000): Operation ALTER USER failed for root@localhost的解決方式,文中通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-05-05
MySQL定時(shí)器開啟、調(diào)用實(shí)現(xiàn)代碼
有些新手朋友對(duì)MySQL定時(shí)器開啟、調(diào)用不是很熟悉,本人整理測(cè)試一些,拿出來和大家分享一下,希望可以幫助你們2012-12-12
千萬級(jí)用戶系統(tǒng)SQL調(diào)優(yōu)實(shí)戰(zhàn)分享
這篇文章主要介紹了千萬級(jí)用戶系統(tǒng)SQL調(diào)優(yōu)實(shí)戰(zhàn)分享,用戶日活百萬級(jí),注冊(cè)用戶千萬級(jí),而且若還沒有進(jìn)行分庫(kù)分表,則該DB里的用戶表可能就一張,單表上千萬的用戶數(shù)據(jù),下面我們就來學(xué)習(xí)如何讓優(yōu)化,需要的朋友可以參考一下2022-03-03

