IntelliJ IDEA連線資料庫報錯及解決
阿新 • • 發佈:2022-04-21
概述
問題
使用JDBC連線MySQL時出現下面錯誤:
The server time zone value ‘�й���ʱ��’ is unrecognizedor representsmore than one timezone. You must configure either the server or JDBC driver(via the serverTimezone configuration
原因
發現這是因為安裝MySQL的時候時區設定地不正確,MySQL預設的是美國的時區,而我們中國大陸要比他們遲8小時,採用+8:00格式。在你沒有指定MySQL驅動版本的情況下它自動依賴的驅動是8.0.12很高的版本,這是由於資料庫和系統時區差異所造成的,在JDBC連線的url後面加上 serverTimezone=GMT 即可解決問題,如果需要使用 gmt+8 時區,需要寫成 GMT%2B8 ,否則會被解析為空。再一個解決辦法就是使用低版本的 MySQL JDBC 驅動,5.1.28 不會存在時區的問題。
解決辦法
在連線字串後面加上 serverTimezone=GMT%2B8
,其中GMT是格林威治平時,也稱格林威治時間(它規定太陽每天經過位於英國倫敦郊區的皇家格林威治天文臺的時間為中午12點),完整的連線字串示例如下:
jdbc:mysql://localhost:3306/db_secondhandtrade?serverTimezone=GMT%2B8
如果要解決中文亂碼輸入問題,則加上useUnicode=true&characterEncoding=utf8
,完整字串如下:
jdbc:mysql://localhost:3306/db_secondhandtrade?useUnicode=true&characterEncoding=utf8
一般都是兩者一起使用,完整字串如下:
jdbc:mysql://localhost:3306/db_secondhandtrade?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8
idea連線MySQL介面如下: