在春季启动中,即使拥有所有特权的用户也无法访问该用户。错误堆栈跟踪:
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]
我在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应用程序
当我重新启动应用程序时,所有错误都消失了>>