mysql自动插入的时间不对 差8小时
MySQL插入時間差八小時問題的解決方法
?更新時間:2019年12月15日 10:19:12 ? 轉載?作者:lankeren ?
這篇文章主要給大家介紹了關于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時區
| 1 2 3 | show variables like '%time_zone%'; //查詢當前時區 set global time_zone='+8:00';? //在標準時區上加+8小時,即東8區時間 flush privileges; # 立即生效 |
最終測試效果
成功
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。
?
?
?
?
mysql> set global time_zone = '+8:00';? ? #修改mysql全局時區為北京時間,即我們所在的東8區
set time_zone = '+8:00';? ? ?#修改當前會話時區
flush privileges;? ? ?#立即生效
Query OK, 0 rows affected
Query OK, 0 rows affected
Query OK, 0 rows affected
mysql>?
mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name ? ?| Value ?|
+------------------+--------+
| system_time_zone | UTC ? ?|
| time_zone ? ? ? ?| +08:00 |
+------------------+--------+
2 rows in set
mysql>?
mysql> set system_time_zone = '+8:00';? ? ? 這個不可修改? 錯誤的命令
1238 - Variable 'system_time_zone' is a read only variable
mysql>?
mysql>?
mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name ? ?| Value ?|
+------------------+--------+
| system_time_zone | UTC ? ?|
| time_zone ? ? ? ?| +08:00 |
+------------------+--------+
2 rows in set
mysql> set global time_zone='+8:00';
Query OK, 0 rows affected
mysql> flush privileges;
Query OK, 0 rows affected
mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name ? ?| Value ?|
+------------------+--------+
| system_time_zone | UTC ? ?|
| time_zone ? ? ? ?| +08:00 |
+------------------+--------+
2 rows in set
mysql> select now();
+---------------------+
| now() ? ? ? ? ? ? ? |
+---------------------+
| 2020-06-05 18:42:22 |
+---------------------+
1 row in set
mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name ? ?| Value ?|
+------------------+--------+
| system_time_zone | UTC ? ?|
| time_zone ? ? ? ?| +08:00 |
+------------------+--------+
2 rows in set
mysql>?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的mysql自动插入的时间不对 差8小时的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springboot yml里面配置
- 下一篇: docker下安装nacos 并使用m