2013-06-29 81 views
2

一段时间后我删除了XAMPP中的一些函数,并将其与它们混淆了。XAMPP - 对用户''@'localhost'拒绝表'用户'的SELECT命令

我重新安装了它,并用我所有的其他文件移动/重命名了我的文件夹,所以我现在有一个新的空白和新的xampp目录。

但是当我尝试使用任何数据库功能,它给我的错误(或多个)像下面这样:

SELECT command denied to user ''@'localhost' for table 'users' 

有什么不对?

谢谢。

+0

我对表'pma_table_uiprefs''有一个类似的错误'拒绝用户'@'localhost'的SELECT命令。我通过打开PHPMyAdmin根文件夹中的config.inc.php解决了这个问题,并注释掉了$ cfg ['Servers'] [$ i] ['pmadb'] ='phpmyadmin';' – Tamlyn

+0

以上答案解决我的问题。 – Waqas

回答

1

用户还没有被赋予读取表的权限。

通过主机的cPanel为数据库创建用户时,可以为用户授予权限。

或者阅读本文档通过mysql命令去做,

http://dev.mysql.com/doc/refman/5.1/en/grant.html

+0

你知道为什么在@ -sign之前的用户名是空的吗? – velop

0

您可以通过启用使用SELECT

GRANT的

解决选择ON db.table TO '用户' @'本地主机“;

都在db.table为 '用户' @ 'localhost' 的授权;

0

我刚刚给了访问所添加的用户,使用phpMyAdmin数据库,它完美的作品:

GRANT SELECT,UPDATE,DELETE,INSERT ON phpmyadmin.* TO [email protected]'localhost' IDENTIFIED BY 'PASSWORD'; 
0

对于我来说,用户之前at符号是空是关键辩别解决问题。

我有一个账户''@localhost(它出现在mysqladmin的<anonymous>@localhost),mysql登录我而不是我请求的用户。这是因为mysql根据一些逻辑选择你的用户,而不是单独请求用户名。

删除匿名用户修复了问题。

+0

这是我正在寻找的答案。如果您为适用于所有主机的用户(例如myuser @'%')创建帐户,并且localhost('@localhost)存在匿名用户,则在以myuser身份进行本地连接时将使用匿名帐户,而不是myuser @'%'帐户。您需要创建一个单独的myuser @ localhost权限集,或者修改/删除匿名帐户设置。请参阅https://dev.mysql.com/doc/refman/5.7/en/adding-users.html。 – user834770

相关问题