用户'root'@'localhost'的访问被拒绝)

Posted

技术标签:

【中文标题】用户\'root\'@\'localhost\'的访问被拒绝)【英文标题】:Access denied for user 'root'@'localhost')用户'root'@'localhost'的访问被拒绝) 【发布时间】:2021-11-03 09:51:17 【问题描述】:

我是 php Laravel 的新手。当我在终端 php artisan serve 中运行时,它显示了一个错误。

我也无法访问 phpMyAdmin:

据我所知,我无法访问数据库,即使我运行 php artisan migrate 时也会显示相同的错误。

【问题讨论】:

确保.env 文件中的数据库连接凭据正确,user/password 组合存在并且可以访问您的数据库并且您的数据库服务正在运行。 检查您的用户授权 @basha04 如果他使用root 用户,权限不会有问题:-D 确保你有 DB_USERNAME="root" 和 DB_PASSWORD="" 之后运行 "php artisan config:cache" 并重试 您如何为您的数据库提供服务?您使用的是 docker、valet、homestead 还是 xaamp 或 waamp 之类的其他东西? mysql 需要运行。 【参考方案1】:

你应该通过这些命令在cmd中重置密码

    打开 bash shell 并以 root 用户身份连接到服务器:

    mysql -u root -h 本地主机 -p

    运行 ALERT mysql 命令:

    ALTER USER 'userName'@'localhost' IDENTIFIED BY 'New-Password-Here';

    最后键入 SQL 命令重新加载 mysql 数据库中的授权表:

    冲洗特权;

更多here

【讨论】:

Ehsan Ahmadi Kian,只要输入命令mysql -u root -h localhost-p,它就会要求输入我不记得的密码。 你需要获取你的root密码。对于mysql。以下是获取或重置它的选项kinsta.com/knowledgebase/xampp-mysql-password 它告诉您访问被拒绝。因此,您使用的凭据是错误的。尝试重置您的 root 密码并在 .env 中输入正确的凭据(确保在更改这些值后清除配置缓存),每次更改它们时都需要重新运行 artisan serve。【参考方案2】:

您似乎在 .env 文件中为数据库访问设置了空密码。在 .env 文件中正确设置数据库凭据,然后重试。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE= // your database name
DB_USERNAME= //root or your database user
DB_PASSWORD= // database password

【讨论】:

以上是关于用户'root'@'localhost'的访问被拒绝)的主要内容,如果未能解决你的问题,请参考以下文章

错误 1698 (28000): 拒绝用户 'root'@'localhost' 的访问

用户'root'@'localhost'的MYSQL访问被拒绝

用户 'root'@'localhost' 的访问被拒绝

用户'root'@'localhost'的访问被拒绝(使用密码:YES)

#1045 - 用户 'root'@'localhost' 的访问被拒绝(使用密码:否)

使用密码拒绝用户'root'@'localhost'的访问:否