Доступ запрещен для пользователя 'username' @ 'IP' error - digtal ocean - PullRequest
0 голосов
/ 24 октября 2018

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

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

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

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

Спасибо!

1 Ответ

0 голосов
/ 24 октября 2018

MySQL по умолчанию не создает пользователя с доступом из удаленных подключений.

Сначала необходимо создать пользователя в базе данных, который разрешает подключение извне (%) или определенный IP

CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';

Чем дать ему привилегии

GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%';

* s можно заменить на вашу базу данных и имя таблицы соответственно

Вы также можете проверить, есть ли в вашей конфигурации 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 и повторите попытку!

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