首頁 > 軟體

一文帶你永久擺脫Mysql時區錯誤問題(idea資料庫視覺化外掛設定)

2022-08-25 10:01:29

專案場景:

今天在做專案的時候遇到一個關於mysql時區的問題,在這裡彙總記錄一下解決過程,希望可以幫助到有需要的人。

問題描述

在做專案的時候突然遇到以下的報錯,可以看到是說 資料庫的時區錯誤,這裡使用的是Mysql 8.0.15資料庫。

這裡試用了idea提供的資料庫視覺化外掛。

以下報錯使得無法存取資料庫。

org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: java.sql.SQLException: 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.
### The error may exist in StudentMapper.xml
### The error may involve ll.getAll
### The error occurred while executing a query
### Cause: java.sql.SQLException: 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.

原因分析

這裡首先考慮是資料庫本身的預設時區設定的問題,

其次考慮在設定idea資料庫視覺化外掛連線的時候的時區的設定問題

解決方案:

通過以下步驟解決了此問題:

開啟命令視窗,進入mysql服務:

接著查詢時區:

show variables like "%time_zone%";

這裡顯示SYSTEM表示跟隨系統,一般情況下是沒有問題的,但是偶爾也會出現問題,這裡我們就直接更改成'+8:00'

set global time_zone='+08:00';

注意:這只是臨時修改,重啟mysql服務後就會失效

下面介紹永久修改:
永久的修改:修改mysql的組態檔my.ini,新增:default-time-zone=’+08:00’,重啟mysql生效,注意一定要在 [mysqld] 之下加 ,否則會出現 unknown variable ‘default-time-zone=+8:00’

接下來再去idea裡面測試一下。

發現結果還是報錯,那麼據考慮是idea資料庫視覺化外掛的連結設定問題。

接下來修改idea資料庫視覺化外掛設定:

在這裡加上時區’+8:00’,進行測試。完美解決。

總結

問題不大,但也著實頭疼,一次性解決不很完美。

到此這篇關於帶你永久擺脫Mysql時區錯誤問題的文章就介紹到這了,更多相關Mysql時區錯誤問題內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com