Отказано в доступе для пользователя "имя пользователя" @ "IP" ошибка - digtal ocean

В настоящее время я создал промежуточную область для своего приложения в Digital Ocean со стеком LAMP. Фреймворк для моего приложения - Laravel 5.5 и Vue 2x.

В процессе разработки я использовал удаленный MySQL, и у меня не было проблем с ошибкой подключения. Однако, когда я переместил его в промежуточный env, он выдает ошибку отказа в доступе. Когда я внимательно посмотрел на журнал ошибок, в доступе отказано для имени пользователя @ [digital-ocean-droplet-ip], тогда как я правильно настроил учетные данные MySQL для IP-адреса удаленного хоста в файле конфигурации / базы данных laravel.

Итак, я сомневаюсь, что мне нужно выполнять какую-либо настройку под Apache, чтобы разрешить любое внешнее соединение MySQL? Я забыл cmd, но я разрешил брандмауэру sfw разрешить любой порт 3306 на IP-адрес удаленного сервера в Apache.

Любая помощь приветствуется.

Спасибо!

Можете ли вы подключить mysql локально. Я имею в виду, можете ли вы подключить mysql из самого дроплета?

Web Artisan 24.10.2018 16:50

@WebArtisan, нет, я не установил mysql db в капле

Wang'l Pakhrin 24.10.2018 18:46
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
2
238
1

Ответы 1

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 и попробуйте еще раз!

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