我有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'
(使用密码:否)
3条答案
按热度按时间k5ifujac1#
我也面临同样的问题。
对我有效的解决方案
Create
新用户Grant
您的数据库的此新用户权限:pobjuy322#
我知道现在已经很晚了..我在一个 Spring 启动应用程序中遇到了这个问题。
我通过使用默认值解决了这个问题,让我来解释一下。
当我使用hib时,我使用属性
<property name="connection.user">root</property>
即
connection.user
现在,我尝试在spring-boot应用程序中使用相同的代码。
spring.datasource.user
我得到这个错误。x1c 0d1x
解为
spring.datasource.username
ev7lccsx3#
您的问题不清楚,DB是否在运行Web应用程序的同一台计算机上运行?如果不是,您需要在
GRANT
命令中提供运行Web应用程序的远程计算机的IP地址。