MySQL資料庫時區問題導致java程式無法連線資料庫
轉載自 https://blog.csdn.net/man_zuo/article/details/81027934
先把報錯資訊貼上,
The server time zone value '???ú±ê×??±??' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
看了報錯資訊,我們知道是服務的時區除了問題,那我們就去修改一下mysql資料庫的時區。
用命令列視窗開啟mysql資料庫,輸入命令
show variables like "%time_zone%";
得到 以下結果
mysql> show variables like "%time_zone%";
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | |
| time_zone | SYSTEM |
+------------------+--------+
2 rows in set, 1 warning (0.00 sec)
發現時區現在是系統預設的。
下面介紹兩種解決辦法:
辦法一:在命令列視窗更改(實測每次關機重啟後都會恢復)
現在我們把它改成東八區,輸入命令
set global time_zone='+8:00';
然後關閉重啟mysql服務,輸入
show variables like "%time_zone%";
驗證一下
mysql> show variables like "%time_zone%";
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | |
| time_zone | +08:00 |
+------------------+--------+
2 rows in set, 1 warning (0.00 sec)
成功。重新執行java程式即可正確連線資料庫。
方法二:修改my.ini (永久有效)
首先要找 my.ini檔案:
修改資料夾選項,選中“顯示隱藏的檔案、資料夾和驅動器”
然後在C盤的根目錄下,會發現隱藏資料夾 “ProgrammaData”,然後根據下面圖中的路徑依次開啟,你可以看到my.ini檔案了
用記事本或者notepad++開啟my.ini ,現在開始修改:
在【mysqld】下新增上一行語句
default-time_zone = '+8:00'
如圖:
然後儲存退出即可。
---------------------
作者:man_zuo
來源:CSDN
原文:https://blog.csdn.net/man_zuo/article/details/81027934
版權宣告:本文為博主原創文章,轉載請附上博文連結!