1. 程式人生 > 資料庫 >MySQL插入時間差八小時問題的解決方法

MySQL插入時間差八小時問題的解決方法

解決MySQL插入時間差八小時問題

一般 jdbc url中 需要新增幾個引數,大多數部落格給的教程都是 useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC 這幾個引數,

配置結果為: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC

對於解決時區問題,以前我也是這麼用的 serverTimezone=UTC ,直到了今天踩到小坑了,才知道這不是萬能的.

首先正常插入一條記錄

發現數據庫的記錄時間和本地的時間不太一樣

第一種: 檢視 mysql 中的時間

先在cmd中使用 mysql -u 使用者名稱 -p 密碼來登入mysql

輸入select now();

檢視MySQL時間


如果時間和你本地當前時間一致

說明mysql的時間沒有問題,問題就出現在java時間上

將jdbc url引數修改成 serverTimezone=Asia/Shanghai 試試.

第二種: 如果查詢 mysql 時間和本地不一致,使用以下語句設定mysql時區

 show variables like '%time_zone%'; //查詢當前時區
 set global time_zone='+8:00';  //在標準時區上加+8小時,即東8區時間
 flush privileges; # 立即生效

最終測試效果


成功

總結

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