Mysql на AWS выдает ошибку. Соединение MYSQL. Не удалось получить доступ. Пользователь root'@'ip-192-168-10-88.eu-west-1.compute.internal 'отклонен. - PullRequest
0 голосов
/ 22 мая 2019

Я решил эту проблему, но она может помочь другим:

У меня есть сервер mysql, работающий на AWS, я установил VPN-подключение из офисной сети к нашему AWS VPC.

Офисная подсеть 192.168.10.x

У меня есть пользователь mysql с правильными разрешениями:

mysql> select user,host from user;
+------------------+--------------+
| user             | host         |
+------------------+--------------+
| root             | 192.168.10.% |

Проблема: Один из моих серверов получил эту ошибку при попытке подключения из PHP:

MYSQL connection Failed byAccess denied for user 'root'@'ip-192-168-10-88.eu-west-1.compute.internal' (using password: YES)

Забавно было то, что вход в систему работал из командной строки на этом сервере и из PHP на других серверах.

Я вижу, откуда возникла ошибка: сервер AWS «разрешил» ip клиента 192.168.10.88 до ip-192-168-10- 88.eu-запад 1.compute.internal

Поскольку эта строка не соответствует шаблону для поля хоста в пользовательской таблице mysql, вход в систему не удался.

Обходной путь: Я получил его, поместив эту строку в / etc / hosts

192.168.10.88 192.168.10.88

Я посмотрел файл / etc / resolv.conf , и я подозреваю, что виновником являются настройки AWS DNS:

nameserver 172.29.0.2
search eu-west-1.compute.internal

Таким образом, я мог бы также решить эту проблему, просто используя 8.8.8.8 для DNS

Надеюсь, это кому-нибудь поможет.

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