1. 程式人生 > >MySQL資料庫時區問題導致java程式無法連線資料庫

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
版權宣告:本文為博主原創文章,轉載請附上博文連結!