不久前,我删除并弄乱了 XAMPP 中的一些功能。
我重新安装了它并用我的所有其他文件移动/重命名了我的文件夹,所以我现在有一个新的 xampp 目录,它是空的和新鲜的。
但是当我尝试使用任何数据库功能时,它会给我如下错误:
SELECT command denied to user ''@'localhost' for table 'users'
怎么了?
谢谢。
不久前,我删除并弄乱了 XAMPP 中的一些功能。
我重新安装了它并用我的所有其他文件移动/重命名了我的文件夹,所以我现在有一个新的 xampp 目录,它是空的和新鲜的。
但是当我尝试使用任何数据库功能时,它会给我如下错误:
SELECT command denied to user ''@'localhost' for table 'users'
怎么了?
谢谢。
用户未被授予读取表的权限。
通过主机的 cpanel 为数据库创建用户时,您可以授予用户权限。
或阅读本文档以通过 MySql 命令执行此操作,
您可以通过启用 SELECT 的使用来解决
将 db.table 上的选择授予“用户”@“本地主机”;
或者
将 db.table 上的所有内容授予 'user'@'localhost';
我刚刚授予了添加用户的访问权限,以使用phpMyAdmin
数据库,它运行良好:
GRANT SELECT,UPDATE,DELETE,INSERT ON phpmyadmin.* TO user@'localhost' IDENTIFIED BY 'PASSWORD';
对我来说,在 at 符号为空之前的用户是找出问题的关键。
我有一个帐户''@localhost
(它出现<anonymous>@localhost
在 mysqladmin 中),mysql 正在登录我而不是我请求的用户。这是因为 mysql 根据某些逻辑而不是单独请求的用户名来选择您的用户。
删除匿名用户解决了这个问题。