Spring Boot没有从application.properties加载用户名

时间:2018-02-09 20:28:57

标签: java mysql spring hibernate spring-boot

我正在使用spring boot开发一个简单的Web应用程序。在第一步中,我实现了有关页面本身和简单登录的所有内容。另外,我使用mysql和hibernate实现了数据库访问。我的数据库在本地easyphp devserver上运行。

第一步,一切正常。但是,在重置数据库并使用相同的凭据重新创建用户后,Hibernate无法建立连接:

2018-02-09 21:17:11.487 ERROR 9592 --- [  restartedMain] o.a.tomcat.jdbc.pool.ConnectionPool      : Unable to create initial connections of pool.
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Access denied for user ''@'localhost' to database 'db'

据我所知,没有配置用户名。但是在我的application.properties中,设置了用户名:

spring.datasource.url=jdbc:mysql://localhost:3306/db?userSSL=false
spring.datasource.username=user
spring.datasource.password=

启动时会发生异常,因此必须是配置。在数据库中,用户'user'拥有数据库'db'的所有权限,但其他人没有权限。

2 个答案:

答案 0 :(得分:0)

数据源网址可能导致此问题。那是一个错字吗?您可以通过将其重置为以下来检查吗?它必须是“useSSL”而不是“userSSL”

spring.datasource.url=jdbc:mysql://localhost:3306/db?useSSL=false
spring.datasource.username=user
spring.datasource.password=

如果上述方法无效,则您的问题可能与用户的权限有关。发布的here问题与您的问题有关(尽管它是在PHP中)。

希望这能解决它,请告诉我们。

答案 1 :(得分:0)

好的,我自己找到了解决方案。真实的用户名包含'_',如'user_name'。不知怎的,这个字符是为什么没有读取用户名的问题。

编辑:工作了几次,但问题仍然存在......