即使在具有所有特权的用户中,如何在春季启动时解决对用户'user'@'localhost'的java.sql.sqlexception访问被拒绝?

问题描述 投票:0回答:1

在春季启动中,即使拥有所有特权的用户也无法访问该用户。错误堆栈跟踪:

Caused by: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964) ~[mysql-connector-java-5.1.40.jar:5.1.40]
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3970) ~[mysql-connector-java-5.1.40.jar:5.1.40]

        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3906) ~[mysql-connector-java-5.1.40.jar:5.1.40]

        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:873) ~[mysql-connector-java-5.1.40.jar:5.1.40]
mysql spring-boot jdbc mariadb
1个回答
0
投票

我在Cent OS7服务器上运行spring boot应用程序时遇到了这个问题。当我收到该错误时,通常将其放在google,stackoverflow等上,以解决此问题。

[我已经遵循了所有的答案,例如“在DB中授予用户特权,通过tcp / ip启用3306,删除用户并尝试创建新用户等等。Ph,但是我已经做了所有这些事情,但仍然会抛出错误。

最后我找到了解决方法。如果您看到以下步骤,它就非常简单]

找到您的数据库服务器。 (linux)执行以下命令

netstat -apn | grep 3306

请像下面那样建立“输出为端口3306的状态”

tcp6 0 0 127.0.0.1:60932 127.0.0.1:3306已建立7289 / java

如果好像我刚开始使用TIME_WAIT,请通过其进程ID杀死Java进程因此,这里的进程ID I:7289

kill -9 processid

重新启动Spring Boot应用程序

当我重新启动应用程序时,所有错误都消失了>>

© www.soinside.com 2019 - 2024. All rights reserved.