Отказано в соединении с сервером Docker, Laravel и MySQL - PullRequest
3 голосов
/ 26 сентября 2019

Итак, у меня есть эта докерная иллюстрация

enter image description here

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

Экземпляр приложения laravel доступен через этот порт

192.168.0.XX:3021

, а контейнер доступен по этому IP

192.168.0.61

и учетные данные MySQL Server:

USER3021 Я только что попытался создать эту учетную запись пользователя с использованием символа подстановки '%' и с

GRANT ALL PRIVILEGES ON *.* TO 'USER3021' IDENTIFIED BY 'xxxxxxx';

и когда я пытаюсь соединить приложение laravel и сервер MySQL с этим .env файлом

 DB_CONNECTION=mysql
 DB_HOST=192.168.0.XX
 DB_PORT=3306
 DB_DATABASE=myTable
 DB_USERNAME=USER3021
 DB_PASSWORD=xxxxxxx

enter image description here

Laravel выдает мне такую ​​ошибку

Отказано в соединении mysql

Ответы [ 2 ]

2 голосов
/ 26 сентября 2019

Вы пытаетесь получить доступ к Mysql через порт 3021, но вы определили порт 3306 Попробуйте изменить их в файле .env

 DB_CONNECTION=mysql
 DB_HOST=192.168.0.XX
 DB_PORT=3021
 DB_DATABASE=myTable
 DB_USERNAME=USER3021
 DB_PASSWORD=xxxxxxx
0 голосов
/ 26 сентября 2019

Откройте файл .env и измените порт: DB_PORT=3021 вместо DB_PORT=3306

DB_CONNECTION=mysql 
DB_HOST=192.168.0.XX 
DB_PORT=3021 
DB_DATABASE=myTable     // Your Database Name 
DB_USERNAME=USER3021   // Yout Database Username
DB_PASSWORD=xxxxxxx   // Your Database Password 

После завершения редактирования .env введите эту команду в своем терминале, чтобы очистить кеш:

php artisan config:clear
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...