各位看官可以關注博主個人博客,瞭解更多信息。
作者:Surpasser
鏈接地址:https://surpass.org.cn
前言
接上一篇帖子,博主在CentOS上安裝了最新版的MySQL容器(版本爲8.0.19),在使用本地springBoot項目連接,啓動項目後操作登錄系統時報錯。
問題
請看代碼:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
這是由於MySQL8.0以上版本的驅動連接與5.0版本有所不同,下面是鏈接配置
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/sys_test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&zeroDateTimeBehavior=CONVERT_TO_NULL
jdbc.username=root
jdbc.password=root
注:serverTimezone=UTC必須存在否則連接不上,沒有useSSL=false會在啓動時會出現報紅,詢問是否使用SSL進行連接,但不影響使用,true或false都可以,加上這個參數後就會消失。
這裏列出驅動的差別:
##版本8.0.19驅動
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
##版本5.6 目前項目中用的
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
修正結果
添加maven座標
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
使用版本驅動
##版本8.0.19驅動
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
測試結果
成功登錄