#mysql #amazon-web-services #amazon-rds
#mysql #amazon-веб-сервисы #amazon-rds
Вопрос:
Итак, я пытаюсь использовать MySQL workbench для подключения к базе данных в облаке в сервисах AWS RDS.
При попытке подключения я получаю ошибку, подобную этой.
Access denied for user 'admin'@'ip_octet1-octet2-octet3-octet4.res.spectrum.com' to database 'default_database'
У меня установлена база данных как общедоступная, и все IP-адреса могут подключаться. Проблема, похоже, в том, что мой клиент пытается подключиться через hostname. Я пробовал несколько разных клиентов, так что, похоже, это проблема с AWS или моим провайдером. Я смог подключиться к экземпляру MySQL из других экземпляров EC2.
Любые предложения будут оценены.
Комментарии:
1. что вы указываете в mysql workbench в качестве имени хоста? IP-адрес или имя хоста из консоли RDS?
2. Я пробовал оба. Дает тот же результат.
3. можете ли вы подключиться по telnet к своей базе данных MySQL через порт MySQL? это, по крайней мере, подтвердит, что это какая-то проблема с IP / маршрутизацией, если вы не можете подключиться к telnet… если вы можете подключиться к telnet, то на данный момент это какая-то проблема с учетными данными
4. Понятия не имел, что могу подключиться по telnet к базе данных mysql. Я попытаюсь это сделать.
Ответ №1:
Ваши пользовательские разрешения mysql должны разрешать подключение с конкретного хоста. вы можете предоставить разрешение существующему пользователю, как показано ниже.
GRANT ALL PRIVILEGES ON database_name.* TO 'admin'@'ip_octet1-octet2-octet3-octet4.res.spectrum.com';
Комментарии:
1. Я пытался обойти это, потому что для этого мне нужно подключиться к другому экземпляру EC2, чтобы получить права root для запуска этой команды для доступа ко всем базам данных. Я почти убежден, что Amazon разработал это таким образом, чтобы увеличить использование EC2 по всем направлениям. Запустите EC2 для подключения к другому EC2. Когда база данных впервые подготовлена, я могу подключиться напрямую, ограничение имени хоста происходит позже, что требует значительного времени на создание базы данных (20 минут?). Я предполагаю, что на стороне AWS есть несколько обратных DNS-гремлинов.
Ответ №2:
Судя по получаемой вами ошибке, похоже, что это не проблема с доступом к серверу, поскольку в сообщении сообщается об отказе в доступе, в противном случае в нем было бы указано, что оно не может достичь хоста. Я бы выбрал маршрут ввода пароля, поскольку пользователь admin должен быть создан с ‘%’ для host. Был ли это снимок? Или создано с нуля? Если да, был ли пароль установлен правильно? Если это с нуля, вы всегда можете удалить его и создать заново. С уважением!