В настоящее время я создал промежуточную область для своего приложения в Digital Ocean со стеком LAMP. Фреймворк для моего приложения - Laravel 5.5 и Vue 2x.
В процессе разработки я использовал удаленный MySQL, и у меня не было проблем с ошибкой подключения. Однако, когда я переместил его в промежуточный env, он выдает ошибку отказа в доступе. Когда я внимательно посмотрел на журнал ошибок, в доступе отказано для имени пользователя @ [digital-ocean-droplet-ip], тогда как я правильно настроил учетные данные MySQL для IP-адреса удаленного хоста в файле конфигурации / базы данных laravel.
Итак, я сомневаюсь, что мне нужно выполнять какую-либо настройку под Apache, чтобы разрешить любое внешнее соединение MySQL? Я забыл cmd, но я разрешил брандмауэру sfw разрешить любой порт 3306 на IP-адрес удаленного сервера в Apache.
Любая помощь приветствуется.
Спасибо!
@WebArtisan, нет, я не установил mysql db в капле






MySQL по умолчанию не создает пользователя с доступом из удаленных подключений.
Сначала вам нужно создать пользователя в базе данных, который разрешает подключение извне (%) или конкретный IP-адрес.
CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';
Чем дать ему привилегии
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%';
The *s could be replaced by your database and table name respectively
Вы также можете проверить, есть ли в вашей конфигурации mysql (/etc/mysql/mysql.conf.d/mysqld.cnf в моем случае) эта строка без комментариев
bind-address = 127.0.0.1
При необходимости измените ip
перезапустить mysql и apache
sudo service apache2 restart
sudo service mysql restart
Затем обновите пользователя и пароль в файле .env и попробуйте еще раз!
Можете ли вы подключить mysql локально. Я имею в виду, можете ли вы подключить mysql из самого дроплета?