參考:https://www.dazhuanlan.com/2019/08/25/5d616a1fe73ac/
IDEA連接MySQL錯誤
MySQL8.0配置成功后,在idea中進行連接,發現報錯信息如下:
Connection to @localhost failed. [08001] Could not create connection to database server. Attempted reconnect 3 times. Giving up.
這實際上是mysql的url時區的陷阱:在使用mysql的6.0.x以上的jar的時候,需要在代碼url的鏈接里面指定serverTimezone。否則就會出現異常
***注意:mysql5.6版本出現這個問題時,在my.ini配置文檔中添加:
default-time-zone = '+8:00'
即可解決!***,但是MySQL8.0實測無效!
MySQL8.0解決方法:
方法一(不推薦)
1、命令行登錄MySQL
mysql -u root -p
2、查看並修改MySQL時區
show variables like '%time_zone%'
SYSTEM,時間不對需要修改,MySQL默認SYSTEM是美國時間,比我國要晚了8個小時
set global time_zone = '+8:00';
修改后,要退出MySQL,重新登錄。查看時區,修改成功,然后我們重新用idea連接MySQL,測試連接發現問題解決。
問題:當MySQL服務重啟的時候,會發現我們修改的時間被重置成立SYSTEM,問題依然存在。
方法二、
在idea中進行連接,database的Event log(idea右下角)
Caused by: 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.
所以有兩個方法:
1、修改IDEA的database的配置
2、修改URL
問題補充:
MySQL8.0的連接池是com.mysql.cj.jdbc.Driver
,之前5.7版本是com.mysql.jdbc.Driver