Как я могу изменить соединение с базой данных "localhost" на "127.0.0.1" в Symfony 4?

Согласно разрешению этого вопроса ...

Что делает брандмауэр Symfony так долго?

... пытаюсь поменять в файле .env

DATABASE_URL=mysql://root:root@localhost/project

к

DATABASE_URL=mysql://root:[email protected]/project

для достижения лучшей производительности.

Но тут появляется ошибка:

An exception occurred in driver: SQLSTATE[HY000] [2002] Connection refused

Uncaught PHP Exception Doctrine\DBAL\Exception\ConnectionException: "An exception occurred in driver: SQLSTATE[HY000] [2002] Connection refused" at /Users/work/project/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php line 112

попробуйте добавить используемый номер порта, например 127.0.0.1:3306, и очистить кеш.

gp_sflover 30.07.2018 11:35

Я протестировал 127.0.0.1:3306 и после этого очистил кеш, но это не решило проблему.

peace_love 30.07.2018 11:39

попробуйте заключить адрес в двойные кавычки (как показано в документах), например DATABASE_URL = "mysql://root:[email protected]:3306/project" (и очистить кеш) PS: Эта строка работала раньше?

gp_sflover 30.07.2018 11:48

Нет, это тоже не работает. Единственное, что действительно работает, - это DATABASE_URL=mysql://root:root@localhost/project. Вы уверены, что это правильный порт?

peace_love 30.07.2018 11:56

Я не могу знать, какой порт вы используете для mysql :-) на самом деле я написал «попробуйте добавить порт использовал» (3306 - это значение по умолчанию для локального разработчика, например, XAMPP.)

gp_sflover 30.07.2018 12:02

Ах да, порт был неправильным. Это другой номер. Но он все равно не работает ... Думаю, что номер 127.0.0.1 тоже, наверное, неправильный

peace_love 30.07.2018 12:17

Возможно, пользователю root разрешено использовать только localhost. Посмотрите разрешение пользователя в phpmyadmin

Nikita Leshchev 30.07.2018 12:25

По этому поводу возникает довольно много вопросов. Какое значение имеет ваш параметр bind_address в my.cnf. А на что ваш компьютер разрешает localhost?

Jovan Perovic 30.07.2018 12:49

Кроме того, этот ответ serverfault.com/a/845155/145904 объясняет, как с точки зрения MySQL localhost и 127.0.0.1 могут быть разными, независимо от конфигурации DNS ...

Jovan Perovic 30.07.2018 12:56
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
9
910
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

SELECT * FROM mysql.user where user = '<username>';

проверьте столбец хоста. Если вы вернете только одну строку с хостом localhost, вы можете добавить другую с теми же данными, но для хоста 127.0.0.1

CREATE USER '<username>'@'127.0.0.1';
SET PASSWORD FOR '<username>'@'localhost' = PASSWORD('<password>');
FLUSH PRIVILEGES;

Sql не в моей голове, вам может потребоваться дважды проверить его.

Другие вопросы по теме