2011-01-22 179 views
8

长话短说,我最终在EasyPHP中从PHPMyAdmin删除了root用户。经过一番研究,我使用skip-grant-tables来重新获得数据库访问权限。但是,现在,我无法做任何事情,因为root用户拥有'无权限'。phpMyAdmin报告'没有权限'

这表明,当以“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文件,我应该寻找?

任何想法?这确实阻止了我的应用程序开发。

谢谢。

+0

这听起来像你只需要正确设置授权表。如果你能帮我一个忙,并且`SELECT * FROM mysql.user WHERE user ='root'`(当然有--skip-grant-tables)并且粘贴给你的东西,这可能会有所帮助。 – cHao 2011-01-22 20:32:51

+0

root @ localhost拥有所有Y的 – Peter 2011-01-22 20:36:36

+0

当你连接时你正在连接到'localhost'? (有时候MySQL可能会变钝;如果你连接到你的IP地址,它喜欢看到你来自你的IP而不是本地主机。) – cHao 2011-01-22 20:39:44

回答

15

这是超级讨厌。

这似乎是一个phpMyAdmin的错误。

清除浏览器cookies,发生了什么事情是phpMyAdmin“缓存”你没有(或可能没有在某个时间点)创建数据库访问的事实。

除了在浏览器窗口中删除用于phpMyAdmin的Cookie(获取新的会话ID)或删除phpMyAdmin Web服务器上的会话文件,无法重置它。

3

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

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

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

1

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

谢谢大家。

2

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

0

我刚刚遇到同样的问题(失去了访问我的本地数据库)。这个问题似乎与运行Gecko或类似的浏览器有关(如KHTML ......我在Opera上)。按照建议删除phpMyAdmin cookie后,我仍然有没有权限。所以我去了localhost/xampp,然后点击安全。在该页面是一个链接(HTTP://localhost/security/xamppsecurity.php)带我到一个页面标题安全控制台的MySQL & XAMPP目录保护

我离开当前密码领域的空白,并输入一个新的密码;我认为我选择cookie作为PhpMyAdmin身份验证方法(它实际上说PhpMyAdmin 验证,但嘿...)。一旦我提交了密码更改并再次尝试访问phpMyAdmin,我就恢复了所有数据库,并再次创建更多;消息已消失没有权限

还有在底部说

的成功运行配置存储器未完全配置的消息,一些扩展功能已被停用。找出为什么点击这里。

但这是另一个时代的另一条河。