Laravel无法连接数据库

问题描述 投票:0回答:2

我最近启动了laravel,但出现错误

SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO) (SQL: select count(*) as aggregate from `users` where `email` = ***)

当我尝试向默认身份验证系统注册时,是在一个干净的新鲜项目上。 php artisan migrate效果很好,我可以使用与.env文件中相同的凭据通过mysql workbrench连接到数据库。

    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=udemy-cms
    DB_USERNAME=root
    DB_PASSWORD=

我正在使用带有laravel和mysql workbrench的homestead。我尝试过php artisan config:clear,但确实没有帮助。

database.php是默认值

'mysql' => [
            'driver' => 'mysql',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => null,
            'options' => extension_loaded('pdo_mysql') ? array_filter([
                PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
            ]) : [],

提前感谢您的帮助。

php mysql laravel connection homestead
2个回答
0
投票

首先,我建议您检查一下是否可以实际使用当前凭据连接到mysql。您应该可以像这样在命令行中连接到它:

mysql -uroot -p

这基本上是尝试以root用户身份使用root用户(没有密码)连接到mysql。如果这样不起作用,则您的用户不存在或您的密码错误。

如果可以,请运行以下命令,以查看数据库udemy-cms是否确实存在:

show databases;

如果未显示您的数据库,则需要创建它。

CREATE DATABASE udemy-cms;

您的用户也可能没有足够的权限,在这种情况下,您需要为当前用户授予足够的权限。


0
投票

确保已更新.env文件中的以下值

DB_CONNECTION = mysql

DB_HOST = "127.0.0.1" //ip or localhost

DB_PORT = "3306" //make sure its true one

DB_DATABASE = "your_database_name"

DB_USERNAME = "root" //is as default if you didnt create a new

DB_PASSWORD = "password" //or empty

一旦更新了.env文件,并运行命令php artisan config:cache,然后重新启动项目服务器,并使用php artisan serve命令再次为该项目提供服务

© www.soinside.com 2019 - 2024. All rights reserved.