报错信息:
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...(现在好在学会了一丢丢变通)