问题描述
当启动Spring boot项目或着调用接口进行数据库操作时报以下错误:
ERROR 22288 — [nio-8201-exec-1] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exception during pool initialization.
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
HikariPool-1-池初始化期间出现异常。
解决办法
spring boot 2.0(内置jdbc5驱动)
- 在 application.properties 配置文件中添加 MySQL 数据库的相关配置:
#mysql数据库连接
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?characterEncoding=utf-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
- 检查数据库sql文件中的my.ini文件中的# skip_grant_tables
# skip_grant_tables
- 在pom.xml中的mysql-connector-java依赖中添加版本
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
<scope>runtime</scope>
</dependency>
spring boot 2.1及以上(内置jdbc8驱动)
-
在 application.properties 配置文件中添加 MySQL 数据库的相关配置:
注意:driver和url的变化
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8&useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
- 检查数据库sql文件中的my.ini文件中的# skip_grant_tables
# skip_grant_tables
- 在pom.xml中的mysql-connector-java依赖中添加版本
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.22</version>
<scope>runtime</scope>
</dependency>
进行测试
如下图所示访问数据库正常