Java 用户';的Spring Boot MySql访问被拒绝;根'@';本地主机';
我有spring boot应用程序并部署到远程服务器。该应用程序在我的计算机上运行。MySQL连接URL、用户名和密码与本地和远程MySQL相同。数据库和应用程序在同一台机器上 我检查了我的连接信息并执行了以下命令Java 用户';的Spring Boot MySql访问被拒绝;根'@';本地主机';,java,mysql,spring,hibernate,spring-boot,Java,Mysql,Spring,Hibernate,Spring Boot,我有spring boot应用程序并部署到远程服务器。该应用程序在我的计算机上运行。MySQL连接URL、用户名和密码与本地和远程MySQL相同。数据库和应用程序在同一台机器上 我检查了我的连接信息并执行了以下命令 GRANT ALL PRIVILEGES ON burrda.* TO 'root'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; 下面是我的应用程序.properties spring.jpa.database-
GRANT ALL PRIVILEGES ON burrda.* TO 'root'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
下面是我的应用程序.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:用户'root'@'localhost'的访问被拒绝
我没有收到这些异常
java.sql.SQLException:Access denied for user'root'@'localhost'
(使用密码:YES)或java.sql.SQLException:Access denied for user'root'@'localhost'
(使用密码:NO)您的问题不清楚,DB是否在运行web应用程序的同一台机器上运行?如果没有,您需要在GRANT
命令中提供web应用程序运行的远程计算机的IP地址。我也面临同样的问题
对我有效的解决方案
创建一个新用户
授予数据库的此新用户权限:
创建由“”标识的用户“”@'localhost';
将。*上的所有权限授予由“”标识的“@”本地主机;
DB和app在同一台机器上。
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>';