Laravel доступ запрещен для подключения БД - PullRequest
1 голос
/ 10 января 2020

Я недавно запустил 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 работает хорошо, и я могу подключиться к базе данных через mysql рабочий инструмент с теми же учетными данными, что и в файле .env.

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

Я использую усадьбу с laravel и mysql рабочим инструментом. Я пробовал php artisan config:clear, но не помогло.

база данных. 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'),
            ]) : [],

Заранее спасибо за любую помощь.

Ответы [ 2 ]

0 голосов
/ 10 января 2020

Сначала я бы предложил проверить, действительно ли вы можете подключиться к mysql, используя свои текущие учетные данные. Вы должны иметь возможность подключиться к нему в командной строке следующим образом:

mysql -uroot -p

Это в основном пытается подключиться к mysql, используя root в качестве пользователя без пароля. Если это не работает, ваш пользователь не существует или ваш пароль неверен.

Если это работает, вы должны выполнить следующее, чтобы увидеть, существует ли ваша база данных udemy-cms:

show databases;

Если она не отображает вашу базу данных, вам нужно ее создать.

CREATE DATABASE udemy-cms;

Также возможно, что у вашего пользователя недостаточно прав, в этом случае вам нужно предоставить текущему пользователю достаточно разрешений.

0 голосов
/ 10 января 2020

Убедитесь, что вы обновили указанные ниже значения в файле .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

...