重新启动计算机后,Spring无法连接到mysql数据库,我如何诊断出什么问题

时间:2019-07-09 19:18:10

标签: java mysql spring-boot

我正在使用spring连接到同一台机器上的mysql数据库,并从api中提取数据并存储它。昨天工作正常,我决定让它运行以查看是否遇到任何问题。据我所知,它工作得很好,但我忘了插上笔记本电脑,它死了。重新启动计算机后,我可以通过命令行连接到数据库,但是我的应用程序无法使用相同的用户名和密码进行连接。

我尝试按照spring.io指南重新连接到mysql,并尝试弄乱我的应用程序属性以使用127.0.0.1

我还验证了凭据可在命令行上使用,并允许我连接到mysql数据库

application.properties

spring.jpa.hibernate.ddl-auto=create
spring.datasource.url=jdbc:mysql://localhost:3306/POE?autoReconnect=true&useSSL=false
spring.datasource.username=user
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.profiles.default=production
spring.profiles.active=production

pom.xml-mysql连接器 ...

<!-- Use MySQL Connector-J -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.3</version>
</dependency>

...

我可以显示更多实际的代码,但这主要是spring.io指南中有关我自己的实体的内容。但是,如果我没有建立连接,那么我认为这与这些无关紧要

它运行良好,只是记录了我对数据库所做的所有写操作,但现在却出现此错误

2019-07-09 14:57:45.839 ERROR 2654 --- [           main] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Exception during pool initialization.

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

2 个答案:

答案 0 :(得分:0)

增加数据库的超时时间。如果MySql闲置超过8个小时,则默认情况下将其关闭。

答案 1 :(得分:0)

if(str.equalsIgnoreCase(chocolate)){

这是一个时区问题,它隐藏在我得到的错误的堆栈跟踪中。将我的应用程序属性更改为此可以解决。