Laravel не принимает нового пользователя базы данных в файле .env - PullRequest
0 голосов
/ 25 июня 2019

Я настраиваю свою среду разработки Laravel, используя другое имя пользователя.Я не хочу использовать пользователя root для доступа к моей базе данных.

Кстати, я использую Laradock.Поэтому я не использую обычные учетные данные для усадьбы.

Если я использую нового пользователя и запускаю php artisan migrate, он выдаст мне следующую ошибку:

PDOException ::("SQLSTATE [HY000] [1045] Доступ запрещен для пользователя 'newuser'@'172.25.0.4' (с использованием пароля: YES)")

PDO :: __ construct ("mysql: host = mysql; port =3306; dbname = db_name "," db_user "," db_password! ", [])

Я уже выполнил следующие шаги:

  1. Перезапустил сервер (докер-создать, затем вверх, затем перезапустить докер)
  2. php artisan config:clear
  3. php artisan cache:clear
  4. php artisan config:cache

ОБРАТИТЕ ВНИМАНИЕ:Эта ошибка выдается только в том случае, если я использую нового пользователя, но она полностью работает с пользователем root.У нового пользователя также есть привилегия GRANT ALL.

Мой .env файл содержит:

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=db_name
DB_USERNAME=db_user
DB_PASSWORD=db_password

Я ожидаю, что смогу запустить php artisan migrate, используя новые учетные данные пользователя вместопользователь root по умолчанию.

1 Ответ

1 голос
/ 25 июня 2019

Вам необходимо установить правильное значение для DB_HOST.Если ваша БД находится в локальной сети, то вы можете установить DB_HOST = localhost или использовать внешние IP-адреса, например, DB_HOST = 172.25.0.4

После того, как она запустится

php artisan config:cache
php artisan migrate
...