Php SQL:select*from users:SQLSTATE[HY000][1045]拒绝用户'root'@'localhost'的访问(使用密码:YES)
在Laravel中,在使用本机查询时,我使用以下代码:Php SQL:select*from users:SQLSTATE[HY000][1045]拒绝用户'root'@'localhost'的访问(使用密码:YES),php,laravel,Php,Laravel,在Laravel中,在使用本机查询时,我使用以下代码: $users = DB::select('select * from users'); return $users; 但是,我得到如下错误: SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES) (SQL: select * from users) 我的.env文件如下: DB_CONNECTION=mysql DB_
$users = DB::select('select * from users');
return $users;
但是,我得到如下错误:
SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES) (SQL: select * from users)
我的.env文件如下:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_seven
DB_USERNAME=root
DB_PASSWORD=
您能帮我吗?您的数据库服务器是如何托管的?此错误通常与远程根用户的未授权有关 例如,此命令:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password';
然后,重新启动Mysql服务
service mysql restart
正如我在评论中提到的:将您的密码放在DB_password=之后,或者将其设置为DB_password=null 说明: 在您发布的错误中,消息包含using password:YES(使用密码):表示使用了密码。根据您的.env,没有密码。但在这种情况下,laravels env函数返回一个空字符串 该空字符串用作密码,而不是您想要的密码。您必须获取env'DB_PASSWORD'才能为auth(无密码)返回null
这可以通过写入DB_PASSWORD=null或删除该行来存档。但是写出来可以防止将来的你和其他人认为它被忘记了。只需在DB_password=之后键入mysql根密码,或者将其设置为DB_password=null,可能会在没有密码的情况下尝试使用。@PKeidel我将DB password设置为null,效果很好。你有一个大脑袋你能告诉我上面的命令应该放在哪里吗?