Spring Boot 用户'root'@'localhost'的Sping Boot MySql访问被拒绝

vcudknz3  于 2023-01-17  发布在  Spring
关注(0)|答案(3)|浏览(191)

我有Spring Boot应用程序并部署到远程服务器。该应用程序在我的计算机上运行。MySQL连接URL,用户名和密码是相同的本地和远程MySQL。DB和应用程序在同一台机器上!!
我检查了我的连接信息并执行了以下命令。

GRANT ALL PRIVILEGES ON burrda.* TO 'root'@'localhost' IDENTIFIED BY 'password'; 
FLUSH PRIVILEGES;

我的application.properties在下面。

spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL57Dialect
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/burrda
spring.datasource.username=root
spring.datasource.password= password

当应用程序运行时,我得到java.sql.SQLException: Access denied for user 'root'@'localhost'
我没有收到这些异常java.sql.SQLException: Access denied for user 'root'@'localhost'(使用密码:是)或java.sql.SQLException: Access denied for user 'root'@'localhost'(使用密码:否)

k5ifujac

k5ifujac1#

我也面临同样的问题。
对我有效的解决方案

  1. Create新用户
  2. Grant您的数据库的此新用户权限:
create user '<new_user_name>'@'localhost' identified by '<new_user_password>';
grant all privileges on <your_db_name>.* to '<new_user_name>'@'localhost' identified by '<new_user_password>';
pobjuy32

pobjuy322#

我知道现在已经很晚了..我在一个 Spring 启动应用程序中遇到了这个问题。
我通过使用默认值解决了这个问题,让我来解释一下。
当我使用hib时,我使用属性
<property name="connection.user">root</property>
connection.user
现在,我尝试在spring-boot应用程序中使用相同的代码。
spring.datasource.user
我得到这个错误。x1c 0d1x
解为spring.datasource.username

ev7lccsx

ev7lccsx3#

您的问题不清楚,DB是否在运行Web应用程序的同一台计算机上运行?如果不是,您需要在GRANT命令中提供运行Web应用程序的远程计算机的IP地址。

相关问题