首页 > 解决方案 > Larvel 6:数据库连接“用户''@'localhost'的访问被拒绝(使用密码:YES)”

问题描述

我是一位经验丰富的 Laravel 开发人员,但这次我遇到了一个让我发疯的错误,因为所有配置文件都是正确的。

我有一台装有 macOS Catalina (10.15.5) 的 Mac,使用 Laravel 6、mySQL (mysql Ver 8.0.19 for osx10.15 on x86_64 (Homebrew)) 和 PHP 7.4.6。

在其他 Laravel 项目中,我可以毫无问题地使用以下凭据连接到数据库:127.0.0.1, 3306, laravel, root, password.

但在当前项目中,我总是收到此错误: Access denied for user ''@'localhost' (using password: YES).

但我不明白为什么 Laravel 使用''用户和'localhost'主机。我已经在文件中设置了用户root和主机。你们对此有什么解释吗?我该如何解决?127.0.0.1.env

.env

APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:myprivatekey
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack

DB_CONNECTION=backend
DB_HOST_BACKEND=127.0.0.1
DB_PORT_BACKEND=3306
DB_DATABASE_BACKEND=radlvoo_backend
DB_USERNAME_BACKEND=root
DB_PASSWORD_BACKEND=password

BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"

我已经运行了以下命令:

php artisan cache:clear
php artisan config:clear

他们都没有修复错误。此外,在我遇到此错误之前,我permission denied在执行上述命令之一时遇到了错误。我用这个堆栈线程修复了这个问题。

也许这也有帮助:我已将我的项目的最新版本推送到我的服务器。在那里我连接到数据库时遇到了问题,但是permission denied在执行cache:clearor时我也遇到了同样的错误问题config:clear。但是,我有一个shop.php文件,在该文件下/config存储了我从中获取数据的 URL。当我运行这个使用shop.php配置文件来获取数据的命令时,它总是使用shop.php带有旧 URL 的旧文件,即使我已经运行cache:clearconfig:clear多次!

我什至通过 FTP 连接以检查shop.php文件,但只存储了新的 URL 而不是旧的。我不明白这里的错误是什么,以及这些错误之间是否存在联系!

将不胜感激任何帮助!谢谢!

标签: phpmysqllaravelcachingconfig

解决方案


推荐阅读