mysql:在 information_schema 上的访问被拒绝

Posted

技术标签:

【中文标题】mysql:在 information_schema 上的访问被拒绝【英文标题】:mysql: access denied on 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 秒) 【参考方案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 的其他变体/版本是否存在同样的问题。

【讨论】:

以上是关于mysql:在 information_schema 上的访问被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

MySQL查询导出数据表结构信息

MySQL 元数据

myrocks 之数据字典

SQLI-LABS系列(持续更新)

刚安装sql server2014,就遇到以下问题 : 异常来自HRESULT:0X8024402C,不知道 是啥原因,请指教?

如何从 BigQuery 表中提取所有列名的列表?