SQLException:在 Spring Boot 中访问被拒绝

Posted

技术标签:

【中文标题】SQLException:在 Spring Boot 中访问被拒绝【英文标题】:SQLException: Access denied in Spring Boot 【发布时间】:2019-06-06 16:53:31 【问题描述】:

我有一个带有 mysql 和 Spring Boot 应用程序的 Bitnami Tomcat 服务器。

当我尝试使用./bin/catalina.sh run 运行应用程序时,我收到以下错误:

java.sql.SQLException: 用户 'person_db_user'@'127.0.0.1' 的访问被拒绝(使用密码:YES)

这是application.properties 文件:

spring.jpa.hibernate.ddl-auto=create
spring.datasource.url=jdbc:mysql://localhost:3306/persons_db
spring.datasource.username=person_db_user
spring.datasource.password=password

spring.mvc.throwExceptionIfNoHandlerFound=true

用户存在,我可以使用它从命令行访问 MySQL。

我不知道问题出在哪里,有人知道吗?

【问题讨论】:

您可能可以使用给定用户登录 MySQL,但您可以访问persons_db吗? 请检查 mysql ..esp 中的用户“权限”。 “主机”列...可能存在关于“本地主机”与“127.0.0.1”的问题...而且不是一个好习惯:使用“root”用户! ...在 bitnami 论坛中有几个关于“mysql 访问被拒绝”的主题..但没有“开箱即用的解决方案”...这似乎是一个单独的问题。 【参考方案1】:

此命令可以帮助您:在命令行或一些 GUI 工具中执行它。

将所有权限授予 . 到 'erson_db_user'@'localhost' IDENTIFIED BY '%password%' WITH GRANT OPTION;

不要忘记用真实密码替换 %password%。

【讨论】:

谢谢,这似乎解决了问题,但是我必须运行 FLUSH PRIVILEGES;也。

以上是关于SQLException:在 Spring Boot 中访问被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

spring-boot实战05:Spring Boo多环境配置及配置属性注入到对象

java.sql.SQLException:使用 HSQL 和 Spring 不支持此函数

解决spring 事务管理默认不支持SQLException等运行时异常

spring boo的简单搭建(eclipse+springboot + redis + mysql + thymeleaf)

使用准备好的语句时出现 Camel -Spring SQLException

Spring Boot + Flyway + AWS:原因:java.sql.SQLException:找不到合适的驱动程序