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 报告“无权限”的主要内容,如果未能解决你的问题,请参考以下文章