Симптомы:
mysql -h a.b.c.d -u user -p -D db
.artisan migrate
.SQLSTATE[HY000] [2003] Can’t connect to MySQL server on ‘a.b.c.d’ (13)
Что я делаю не так? (Я отвечаю за потомков.)
Ключ к этой проблеме - (13)
, что означает "В доступе отказано" (через perror
). Поскольку я могу подключиться из командной строки, разрешение должно быть в веб-приложении. Поскольку я знаю, что учетные данные в веб-приложении совпадают с учетными данными в командной строке, остается только веб-сервер.
Через strace
, Я обнаружил, что SELinux блокирует его. Исправить:
sudo setsebool -P httpd_can_network_connect=1
Это навсегда устанавливает SELinux для разрешения сетевых подключений вне httpd.