从java到MySql数据库的不可用的授予权限

时间:2014-08-28 20:03:45

标签: java mysql grant

我绝望了!场景:一个MySql数据库和一个Java程序,我在那里从事该数据库中的一些工作。到现在为止还挺好。 我现在正在尝试创建一个新用户(我可以)并为同一个用户设置密码(我也可以)。问题是当我尝试向该用户授予某些权限时。我使用这个查询

 GRANT SELECT ON respet.some_table TO 'ro'@'localholst'

答案是错误代码:1133。无法在用户表中找到任何匹配的行。 所以我检查了

 SELECT * FROM mysql.user

它表明有用户

 'localhost', 'ro', '*A4B6157319038724E3560894F7F932C8886EBFCF'

我已经阅读了很多关于使用FLUSH PRIVILEGES的内容,但它也没有用。

然后我尝试了那个查询

GRANT SELECT ON respet.some_table TO 'ro'@'localholst' IDENTIFIED BY '1234';

并且显然有效,但当我这样做时,这是谎言,因为我做了

SHOW GRANTS FOR 'ro'@'localhost'

它返回的所有内容是

'GRANT USAGE ON *.* TO \'ro\'@\'localhost\' IDENTIFIED BY PASSWORD \'*A4B6157319038724E3560894F7F932C8886EBFCF\''

所以,我不知道发生了什么。如果您想知道,那是我用来从Java创建用户的查询

"CREATE USER '" + userName + "'@'localhost'";

设置密码

"SET PASSWORD FOR '" + userName + "'@'localhost' = PASSWORD('" + password + "')";

你现在休息了。有趣的是,如果我从Workbench创建用户,这一切都有效,但Grant权限部分。任何线索?谢谢!

0 个答案:

没有答案