报错信息:
ERROR manager.SqlManager: Error executing statement: java.sql.SQLException: Access denied for user 'root'@'master' (using password: YES)
java.sql.SQLException: Access denied for user 'root'@'master' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1086)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4237)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4169)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:928)
at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1750)
根据上面那行报错信息,大概猜出来是mysql用户权限问题了。
解决方法:
1.分别检查 root@% 和 root@localhost 的权限。

如果对应的命令行下没有输出显示 、或者报错的话,就是你没有给他权限:

这个就是我报错的原因
2. 如果是root@%没有给权限:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD '123' WITH GRANT OPTION;//root 是我mysql的用户名 123 是我的密码
3.如果是root@localhost没有给权限:
GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY PASSWORD '123' WITH GRANT OPTION;
其实,按照道理来说,我既然给了root@localhost权限的话,不该报错...咱也不知道,咱的头发说他不想问!(明早有网课,害)
这个地方算是一个改bug一个思路吧,之前我只会百度,百度不到就GG...(现在好在学会了一丢丢变通)
MySQL权限错误修复
本文解决了一个常见的MySQL权限问题,即当使用root用户从特定主机连接时遇到的访问被拒绝错误。通过检查root@%和root@localhost的权限,并授予所有权限,成功解决了问题。
1427





