本地启动SpringBoot服务报数据库连接失败的错

时间:2024-10-15 11:56:45

场景

公司搭建了一个新的SpringBoot项目,本人从远程仓库 clone 下来之后,想着先本地启动下服务瞅一眼能不能正常启动。
结果很不幸启动失败了,这很正常。(安慰自己)
程序员不就是生产BUG,修复BUG的碳基生物嘛。

喽一眼错误

2024-10-14 17:07:32.704 ERROR 23178 --- [  restartedMain] com.alibaba.druid.pool.DruidDataSource   : init datasource error, url: jdbc:mysql://127.0.0.1:3306/xxxx?characterEncoding=utf-8&useSSL=false&autoReconnect=true&rewriteBatchedStatements=true&serverTimezone=UTC

java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.

沃特链接本地数据库都能报错呢?

  • 首先排除用户名密码和数据库URL的问题,因为本地数据库一直在用着呢。
  • 其次可以排除的是防火墙问题。

最终是啥问题导致的呢?

<!-- 数据源连接包 -->
	<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
		<version>5.1.39</version>
	</dependency>

是它。
因为我本地的MYSQL数据库版本是8.0,而这个新服务的mysql-connector-java版本是5.X

解决

升级mysql-connector-java 版本到 8.0.15

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

再次启动服务,成功~

希望对大家有帮助。