【问题标题】:mysql: access denied on information_schemamysql:在 information_schema 上的访问被拒绝
【发布时间】:2014-07-22 06:22:03
【问题描述】:

当我创建新用户或授予现有用户权限时,出现此错误:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

在除 information_schema 之外的所有表上授予权限正常,在此表上我收到拒绝访问错误。 我该如何解决?转储所有数据库,删除所有数据库,然后从转储中恢复?

【问题讨论】:

  • 你没有FLUSH PRIVILEGES;。或者输入错误的权限。
  • mysql> 使用授予选项将 . 上的所有权限授予 'root'@'localhost'; ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)查询正常,0 行受影响(0.00 秒)

标签: mysql information-schema


【解决方案1】:

MySQL documentation 说:

...您只能读取表的内容,不能对它们执行 INSERT、UPDATE 或 DELETE 操作。

【讨论】:

  • 它们是视图而不是基表。
【解决方案2】:

不必授予对这些表的访问权限。所有用户都已拥有访问权限。

“每个 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

【讨论】:

    【解决方案3】:

    请注意,如果您在名称information_schema 中有拼写错误,您还会收到denied to user 消息。这有时令人困惑。

    select * from bogusSchema.bogusTable;
    

    错误是

    Error Code: 1142. SELECT command denied to user 'user123'@'localhost' for table 'bogusTable'
    

    我正在使用MySQLInfoBright 变体。不确定MySQL 的其他变体/版本是否存在同样的问题。

    【讨论】:

      猜你喜欢
      • 2016-05-03
      • 2021-10-15
      • 1970-01-01
      • 2020-09-02
      • 2013-11-25
      • 2017-11-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-31
      相关资源
      最近更新 更多