Не удалось удалить базу данных `symfony -project` для подключения с именем default. Исключительная ситуация в драйвере: SQLSTATE [HY000] [2002] Соединение отклонено - PullRequest
1 голос
/ 20 февраля 2020

Я случайно создал базу данных symfony-project, но она не появляется на моей странице phpmyadmin. Я хочу удалить базу данных с помощью

php bin/console doctrine:database:drop --force

, после чего появляется это сообщение

Не удалось удалить базу данных symfony-project для подключения с именем по умолчанию Произошло исключение в драйвере: SQLSTATE [HY000 ] [2002] Соединение отклонено

Когда я пытаюсь создать новую базу данных с php bin/console doctrine:database:create, появляется сообщение об ошибке:

В AbstractMySQLDriver. php строка 93:
Возникла исключительная ситуация в драйвере: SQLSTATE [HY000] [2002] Соединение отклонено

В PDOConnection. php строка 31:
SQLSTATE [HY000] [2002] Соединение отклонено

В PDOConnection. php строка 27:
SQLSTATE [HY000] [2002] Соединение отклонено

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

URL моей базы данных в файле .env:

DATABASE_URL=mysql://root:@127.0.0.1:3306/symfony-project?serverVersion=5.7

Мой пароль пуст.

Я пытался изменить 127.0.0.1 на localhost, и в сообщении об ошибке сообщается, что

такого файла или каталога не существует.

Я использую symfony 4 и xampp на macOS

ОБНОВЛЕНИЕ

Я отредактировал мой файл config / packages / doctrine .yaml. Я прокомментировал url: '%env(resolve:DATABASE_URL)%' и добавил:

doctrine:
dbal:
    dbname: symfony-project
    charset: utf8
    host: 127.0.0.1
    port: 8080
    user: root
    password:
    driver: pdo_mysql

, и теперь это сообщение выходит

В AbstractMySQLDriver. php строка 106:
Исключение произошло в драйвер: SQLSTATE [HY000] [2006] MySQL сервер ушел

В PDOConnection. php строка 31:
SQLSTATE [HY000] [2006] MySQL сервер ушел

В PDOConnection. php строка 27:
SQLSTATE [HY000] [2006] MySQL сервер отключен

В PDOConnection. php строка 27:
PDO: : __ construct (): MySQL сервер ушел

Ответы [ 2 ]

1 голос
/ 20 февраля 2020

Вам необходимо настроить doctrine .yaml

doctrine:
  dbal:
      dbname:       database
      charset:      utf8
      user:         user
      password:     secret
      driver:       pdo_mysql

Проверьте документацию: https://symfony.com/doc/current/reference/configuration/doctrine.html

1 голос
/ 20 февраля 2020

Я думаю, вы также можете попробовать подключиться, пытаясь создать базу данных:

php bin/console doctrine:database:create

Если вы используете Symfony 2, вам нужно использовать:

php app/console doctrine:database:create

Я также вижу, что в строке:

DATABASE_URL=mysql://root:@127.0.0.1:3306/symfony-project?serverVersion=5.7

Вы не указали пароль для root пользователя. Хотя это может и не быть проблемой, если в начале пароль не указан, лучше проверить эти учетные данные.

...