MySQLNonTransientConnectionException: Could not create connection to database server 解決辦法

今天學習mybatis,遇到

MySQLNonTransientConnectionException: Could not create connection to database server無法創建數據庫連接

第一步
網上查了一下,估計是mysql驅動包版本太低,我的mysql是8.0版本的,但是驅動依賴包卻是5.1.29的。
在這裏插入圖片描述在這裏插入圖片描述於是把mysql連接驅動包升級到8.0.11版本。

<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<version>8.0.11</version>
</dependency>

這時候有可能已經解決了問題了,如果還會出現如下錯誤中的其中一個,就進入第二步。

1、Loading class com.mysql.jdbc.Driver. This is deprecated. The new driver class is com.mysql.cj.jdbc.Driver.

或者

2、WARN: Establishing SSL connection without server's identity verification is not recommended
Error updating database. Cause: java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone.

第二步
第 1 個錯誤是因爲驅動類com.mysql.jdbc.Driver的已經廢棄,現在應該用com.mysql.cj.jdbc.Driver,在數據庫配置文件中修改一下即可。
在這裏插入圖片描述
代碼 <property name="driver" value="com.mysql.cj.jdbc.Driver"/>

第 2 個錯誤需要添加SSL驗證,或者是因爲沒有時域,可以將
?serverTimezone=GMT%2B8&amp;Unicode=true&amp;characterEncoding=utf-8&amp;useSSL=false
添加到數據庫連接的後面,表示不適用SSL驗證、數據集使用utf-8編碼、使用東八區的時間。

完整代碼如下
在這裏插入圖片描述

ps:在idea中,xml文件不可出現"&“符號,應該使用”&amp;"來代替(注意&amp後面有分號)。

修改完成後,數據庫就可以正常連接啦。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章