com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Access denied for user 'root'@'%' to database 'wiki' at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:885) at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3421) at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1247) at com.mysql.jdbc.Connection.createNewIO(Connection.java:2775) at com.mysql.jdbc.Connection.<init>(Connection.java:1555) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285) at java.sql.DriverManager.getConnection(DriverManager.java:525) at java.sql.DriverManager.getConnection(DriverManager.java:171) at test.tool.WikiStat.getConn(WikiStat.java:18) at test.tool.WikiStat.main(WikiStat.java:23)
具體的解決方法為,授予相關用權限,如:
mysql> grant select on *.* to 'root'@'%' identified by 'password'; Query OK,0 rows affected (0.00 sec) mysql> flush privileges; Query OK,0 rows affected (0.00 sec) mysql> exit Bye
命令“grant select on *.* to 'root'@'%' identified by 'password'”所作的事情其實就是在“mysql.user”表中添加了一行記錄,
因此如果需要刪除某個授權,直接找到user表執行刪除就OK了。