解決MySQL插入時間差八小時問題
一般 jdbc url中 需要添加幾個參數 , 大多數博客給的教程都是 useSSL=falseuseUnicode=truecharacterEncoding=UTF-8serverTimezone=UTC
這幾個參數,
配置結果為: jdbc:mysql://localhost:3306/test?useUnicode=truecharacterEncoding=UTF-8serverTimezone=UTC
對于解決時區(qū)問題,以前我也是這么用的 serverTimezone=UTC ,直到了今天踩到小坑了,才知道這不是萬能的.
首先正常插入一條記錄
發(fā)現數據庫的記錄時間和本地的時間不太一樣
第一種: 查看 mysql 中的時間
先在cmd中使用 mysql -u 用戶名 -p 密碼來登錄mysql
輸入select now();
查看MySQL時間
如果時間和你本地當前時間一致
說明mysql的時間沒有問題, 問題就出現在java時間上
將jdbc url參數修改成 serverTimezone=Asia/Shanghai
試試.
第二種: 如果查詢 mysql 時間和本地不一致,使用以下語句設置mysql時區(qū)
show variables like '%time_zone%'; //查詢當前時區(qū)
set global time_zone='+8:00'; //在標準時區(qū)上加+8小時,即東8區(qū)時間
flush privileges; # 立即生效
最終測試效果
成功
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。