phpMyAdmin 报告“无权限”

Posted

技术标签:

【中文标题】phpMyAdmin 报告“无权限”【英文标题】:phpMyAdmin reports 'No Privileges' 【发布时间】:2011-06-13 19:26:23 【问题描述】:

长话短说,我最终在 Easyphp 中从 PHPMyAdmin 中删除了 root 用户。经过一番研究,我使用 skip-grant-tables 重新获得数据库访问权限。但是,现在我无法执行任何操作,因为 root 用户拥有“No Privileges”。

也就是说,当以“root”身份登录时,我确实能够通过 SQL 创建数据库。

我尝试了以下类似的方法:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';
FLUSH PRIVILEGES;

不过,我什么也做不了。另外,我有这个消息:

用于处理链接表的附加功能已停用。要了解原因,请单击此处。

点击显示:

$cfg['Servers'][$i]['pmadb'] ...    OK
$cfg['Servers'][$i]['relation'] ... not OK [ Documentation ]
General relation features: Disabled

$cfg['Servers'][$i]['table_info'] ...   not OK [ Documentation ]
Display Features: Disabled

$cfg['Servers'][$i]['table_coords'] ... not OK [ Documentation ]
$cfg['Servers'][$i]['pdf_pages'] ...    not OK [ Documentation ]
Creation of PDFs: Disabled

$cfg['Servers'][$i]['column_info'] ...  not OK [ Documentation ]
Displaying Column Comments: Disabled
Browser transformation: Disabled

$cfg['Servers'][$i]['bookmarktable'] ...    not OK [ Documentation ]
Bookmarked SQL query: Disabled

$cfg['Servers'][$i]['history'] ...  not OK [ Documentation ]
SQL history: Disabled

$cfg['Servers'][$i]['designer_coords'] ...  not OK [ Documentation ]
Designer: Disabled

$cfg['Servers'][$i]['tracking'] ... not OK [ Documentation ]
Tracking: Disabled

重新安装 EasyPHP 并不能解决问题,并且 VirtualStore 中不存在任何内容(正如一篇论坛帖子所建议的那样)。我应该寻找一个特定的 mysql 文件吗?

有什么想法吗?这确实阻止了我的应用程序开发。

谢谢。

【问题讨论】:

听起来你只需要正确设置授权表。如果你能帮我一个忙,SELECT * FROM mysql.user WHERE user = 'root'(当然是 --skip-grant-tables)并粘贴给你的东西,它可能会有所帮助。 当你连接时你正在连接到'localhost'? (MySQL 有时可能很迟钝;如果您连接到您的 IP 地址,它喜欢将您视为来自您的 IP 而不是本地主机。) 是的。 127.0.0.1 也有所有 Y。我通过 EasyPHP 运行所有这些 有趣... PHPMyAdmin 报告没有权限,但输入“CREATE DATABASE test”实际上会创建一个数据库。 是的,mysql.db 中经常有一行代码授予任何人创建名称以(或为)“test”开头的数据库的权限。说到,检查该表是否有任何对root% 或空白用户的引用,前五个权限(选择、插入、更新、创建)中的任何一个或所有都具有“N”。跨度> 【参考方案1】:

这太烦人了。

这似乎是 phpMyAdmin 的一个错误。

清除您的浏览器 cookie,发生的事情是 phpMyAdmin 已经“缓存”了您没有(或可能在某些时候没有)创建数据库访问的事实。

除了在浏览器窗口中删除 phpMyAdmin 的 cookie(以获取新的“会话 ID”)或删除 phpMyAdmin Web 服务器上的会话文件之外,没有其他方法可以重置它。

【讨论】:

这对我有用。我刚刚在 Chrome 开发者控制台 (Ctrl+Shift+I) 中打开了资源选项卡并手动删除了本地主机上的所有 cookie。【参考方案2】:

如果您的机器启用了 IPv6,“localhost”将解析为 ::1,而不是 127.0.0.1。这可能会导致问题。

尝试连接到“127.0.0.1”而不是“localhost”。那应该强制mysql通过IPv4地址进行身份验证,所以确保127.0.0.1在那里。

或者,如果您有管理员权限,您可以将 localhost 映射回 c:\Windows\System32\Drivers\etc\hosts 中的 127.0.0.1。

【讨论】:

当我连接时,根据 EasyPHP 配置,我使用 127.0.0.1。 用户表中有一行root@127.0.0.1 ? 是的,但结果证明是浏览器问题。感谢您的帮助!【参考方案3】:

cHao 和 Andrew 的回答为我解决了这个问题。我将 MySQL 数据库用户表中的所有权限重置为是。然后所有 dbs 重新出现在 phpMyAdmin 中,但我在那里没有“创建 db”权限。清除了 phpMyAdmin cookie,甚至升级了 phpMyAdmin,但没有成功。然后我进入 tmp/php 目录并删除了我在那里找到的一个会话文件(名为 sess + random ascii),并且成功!

【讨论】:

【参考方案4】:

原来是某种特定于 Google Chrome 的问题,因为它现在可以在 IE 中运行。我会尝试运行 CCleaner。

谢谢大家。

【讨论】:

很奇怪。我在 Chrome 中遇到了与 root privs 相同的问题。阅读此答案后,我使用 Firefox 登录,一切都很好。这是在 OSX 上,所以我认为它与您的 Windows 计算机无关。 同样的事情发生在我身上,有人知道为什么或如何解决它吗? 这不是特定于浏览器的东西,也不可能。尝试清除缓存和 cookie。【参考方案5】:

我刚刚遇到了同样的问题(无法访问我的本地数据库)。这个问题似乎与运行 Gecko 或类似的浏览器有关(比如 Khtml ......我在 Opera 上)。按照建议删除 phpMyAdmin cookie 后,我仍然拥有 No Privileges。所以我去了 localhost/xampp,然后点击了安全性。在那个页面上有一个链接 (h-t-t-p://localhost/security/xamppsecurity.php),它把我带到了一个标题为 Security console MySQL & XAMPP directory protection)

的页面

我将当前密码字段留空并输入了新密码;我想我选择了 cookie 作为 PhpMyAdmin 身份验证方法(它实际上是说 PhpMyAdmin authentification,但是嘿......)。提交密码更改并再次尝试访问 phpMyAdmin 后,我恢复了所有数据库并再次能够创建更多数据库; No Privileges 消息消失了!

底部还有消息说

phpMyAdmin 配置存储未完全配置,部分扩展功能已停用。要了解原因,请单击此处。

但那是另一条河流。

【讨论】:

【参考方案6】:

在过去的几年里被这个问题困扰了好几次......我发现的最简单的方法是今天在设置 RPi 时。

从终端运行:$sudo mysql_secure_installation 并根据您的实施进行设置。

然后,使用:$sudo mysql_setpermission 设置用户访问权限,这将允许您设置超级/root 用户。

按照提示操作即可。

【讨论】:

刚刚检查过,仍然可以在我运行 mysql 的所有 linux 机器上运行。您使用的是什么设置?

以上是关于phpMyAdmin 报告“无权限”的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 6.5 下,phpmyadmin 建库无权限

phpmyadmin 下载安装配置

phpmyadmin 本地主机错误

在 centOS 上运行 phpmyadmin - 禁止错误 (403)

安装 PHPMYADMIN 时遇到问题

Phpmyadmin 页面未加载