在executeUpdate中获取错误Java MySQL

时间:2016-04-24 17:05:37

标签: java mysql sql jdbc

我试图设置" ALL PRIVILEGES"来自Java远程MySQL数据库test和用户test。这是我的代码片段:

Class.forName("com.mysql.jdbc.Driver");
Connection con = null;
con = (Connection) DriverManager.getConnection("jdbc:mysql://xx.xxx.xxx.xx:3306/?user=root&password=pswrd");

Statement st = con.createStatement();
int res = st.executeUpdate("GRANT ALL PRIVILEGES ON test.* TO 'test'@'%' IDENTIFIED BY '12345';");

没什么特别的。来自root用户的所有查询都可以正常工作,但在这个特殊情况下,我收到了错误:

Exception in thread "main"   com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Access denied for user 'root'@'%' to database 'test'

我做错了什么?

更新

此处answer。所以,问题没有解决......

3 个答案:

答案 0 :(得分:0)

尝试与

建立联系
DriverManager.getConnection("jdbc:mysql://hostname:port/dbname","username", "password");

答案 1 :(得分:0)

请确保'pswrd'识别的'root @ yourHost'(特别是来自yourHost)有权管理此数据库的权限。

答案 2 :(得分:0)

尝试添加类似'test'的主机@' yourhost '