Возникла исключительная ситуация в драйвере: SQLSTATE [HY000] [1045] Доступ запрещен для пользователя 'db_user' @ 'localhost' (используется пароль: YES) - PullRequest
0 голосов
/ 15 апреля 2019

Я следовал этой документации добавить учение в мой проект Symfony (v4.2). Но когда доктрина установлена, она не добавляет эту строку в мой проект (в моем файле .env, как упомянуто в документе):

DATABASE_URL = "MySQL: // db_user: db_password@127.0.0.1: 3306 / db_name"

Поэтому я добавил это вручную так:

DATABASE_URL = "MySQL: //root@127.0.0.1: 3306 / db_school"

и использовал этот комманд для создания базы данных:

php bin / console доктрина: база данных: создать

и это дает мне эту ошибку:

В строке AbstractMySQLDriver.php 93: Возникла исключительная ситуация в драйвере: SQLSTATE [HY000] [1045] Доступ запрещен для пользователя 'db_user' @ 'localhost' (используется пароль: YES)

В строке 31 файла PDOConnection.php: SQLSTATE [HY000] [1045] Доступ запрещен для пользователя 'db_user' @ 'localhost' (используется пароль: YES)
В строке 27 файла PDOConnection.php: SQLSTATE [HY000] [1045] Доступ запрещен для пользователя 'db_user' @ 'localhost' (используется пароль: YES)

Даже если я сменил имя пользователя и пароль, он все равно его не узнал Есть идеи, почему это не работает? Я буду признателен за это.

Ответы [ 3 ]

0 голосов
/ 16 апреля 2019

Попробуйте использовать тот же синтаксис, что и у вас пароль, просто ничего не вводите там, где пароль должен быть:

DATABASE_URL="mysql://root:@127.0.0.1:3306/db_school"

Как объясняется здесь: https://github.com/doctrine/DoctrineBundle/issues/746#issuecomment-351788298

0 голосов
/ 16 мая 2019

Этот метод, кажется, не работает для меня, я не знаю почему, но он работал следующим образом:

  • Поэтому я использовал Flex для установки доктрины:

композитору требуется учение

Затем я запускаю это:

композитор требует orm

  • затем я пошел к своему файлу .env и обнаружил, что синтаксис моей базы данных сгенерирован автоматически, и все работало нормально.

  • Также я удалил другие процессоры sql, которые были открыты на моем компьютере (я тоже установил сервер sql + wamp, который объясняет возникший у меня конфликт), а затем снова открыл мой сервер wamp, и все работает нормально.

0 голосов
/ 15 апреля 2019

Я думаю, вам нужно создать пользователя "db_user" с паролем в вашей СУБД.Затем предоставьте ему права «Администрации».Затем исправьте строку конфигурации базы данных .env:

DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/db_name"
...