当我为现有用户创建新用户或授予权限时,我收到了此错误:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
在所有表上授予权限,除了information_schema,在此表上我获得了访问被拒绝错误。 我怎么解决?转储所有数据库,删除所有数据库,然后从转储恢复?
答案 0 :(得分:3)
...您只能读取表的内容,不能对它们执行INSERT,UPDATE或DELETE操作。
答案 1 :(得分:3)
没有必要授予对这些表的访问权限。所有用户都已有权访问。
“每个MySQL用户都有权访问这些表,但只能看到表中与用户具有适当访问权限的对象相对应的行。在某些情况下(例如,ROUTINE_DEFINITION列中的INFORMATION_SCHEMA.ROUTINES表),权限不足的用户将看到NULL。“
https://bugs.mysql.com/bug.php?id=45430
http://dev.mysql.com/doc/refman/5.1/en/information-schema.html
答案 2 :(得分:1)
请注意,如果名称information_schema
中有拼写错误,您还会收到denied to user
条消息。这有时令人困惑。
select * from bogusSchema.bogusTable;
错误是
Error Code: 1142. SELECT command denied to user 'user123'@'localhost' for table 'bogusTable'
我正在使用InfoBright
的{{1}}变体。不确定MySQL
的其他变体/版本是否存在同样的问题。