@romicohen
Системный Архитектор

Laradock (Docker) — не могу запустить миграции — SQLSTATE[HY000] [2002] Connection refused — что делать?

Установил Laradock (Docker Compose сконфигурированный для Laravel).

Захожу в коробку:

docker-compose exec workspace bash

перехожу в папку с Laravel, запускаю миграции, получаю вот что:

root@bb28cf79eadd:/var/www/project1# php artisan migrate

   Illuminate\Database\QueryException 

  SQLSTATE[HY000] [2002] Connection refused (SQL: select * from information_schema.tables where table_schema = default and table_name = migrations and table_type = 'BASE TABLE')


.env Laradock:

### MYSQL #################################################

MYSQL_VERSION=latest
MYSQL_DATABASE=default
MYSQL_USER=default
MYSQL_PASSWORD=secret
MYSQL_PORT=3306
MYSQL_ROOT_PASSWORD=root
MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d


.env Laravel

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=default
DB_USERNAME=default
DB_PASSWORD=secret


** при этом, в PhpMyAdmin - с этими данными (default:secret) логинится нормально. Правда юзер какой СТРАННЫЙ - без привилегий на создание баз и т.п.

Как это вообще можно решить радикально, чтобы не было танцев с бубном?

Что я делаю не так?

Спасибо.

P.S. Вот так:

docker-compose exec mysql mysql -u root -proot

тоже нормально логинится и сразу заходит в командную строку MySQL. это я когда гуглил - нашел ) правда что с этим делать - непонятно))
  • Вопрос задан
  • 4056 просмотров
Решения вопроса 1
Fernus
@Fernus
Техник - Механик :)
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=default
DB_USERNAME=default
DB_PASSWORD=secret


Сделайте вот так:
DB_HOST=mysql

P.S.:
Не забывайте после каждого изменения конфигов делать:
php artisan config:cache
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы