Подтвердить что ты не робот

Подключение к MySQL на AWS с локальной машины

Я пытаюсь настроить среду dev на моей локальной машине, которая обращается к базе данных MySQL на AWS, но я продолжаю получать сообщение "Can not connect".

mysql_connect('xxx.xxx.xxx.xxx:3306', 'USERNAME', 'PASSWORD');

Я также прокомментировал адрес привязки в файле my.cnf и предоставил разрешения на подключенный IP-адрес.

Любое когда-либо успешно получило эту работу?

4b9b3361

Ответ 1

Я предполагаю, что это брандмауэр Amazon, попробуйте использовать SSH-туннель:

http://blogs.oracle.com/divyen/entry/connecting_mysql_server_on_amazon

Примечание. Не открывайте MySQL в общедоступный Интернет, даже при использовании фильтрации IP-адресов. SSH-туннели являются более безопасными. Лучшая его часть: туннель может быть доступен с localhost: 3306 на вашем компьютере, не нужно менять конфигурацию:)

Ответ 2

Мой опыт в августе 2013 года был следующим для экземпляра RDS, созданного с помощью эластичного бобового стека.

0) Предположим, что экземпляр RDS уже создан
1) Войдите в консоль управления: https://console.aws.amazon.com/console/home
2) Выберите Услуги- > VPC
3) Выберите группы безопасности (слева)
4) Выберите группу, описание которой гласит: "Группа безопасности для RDS DB..."
5) На панели "Группа безопасности" в нижней части страницы выберите "Входящие"
6) Выберите MySQL как правило.
7) Введите IP-адрес моего локального компьютера, например. 145.23.32.15/32
8) Нажмите "Добавить правило" и "Применить изменения правил"

После этого я могу подключиться к базе данных с помощью mysql с моей локальной машины.

a) На консоли управления выберите Службы- > RDS
б) Нажмите "Экземпляры БД" (у меня есть только один) и выберите "Перейти на страницу сведений" для требуемого экземпляра
c) Получить хост и порт с конечной точки
d) С терминальной сессии сделайте следующее: mysql --host blah.blah.blah.us-west-2.rds.amazonaws.com --port 3306 -u my-user-name -p

Ответ 3

Если вы используете MySql на AWS через экземпляр RDS, вы должны добавить IP-адрес, из которого вы хотите подключиться, в "Группы безопасности БД". Для этого перейдите в свою консоль управления AWS и выберите RDS.

1. Выберите "Группы безопасности БД" на левой панели

2. Выберите "default"

3. Выберите "CIDR/IP" в поле выбора и введите общедоступный IP-адрес рабочих станций. Пример:
23.234.192.123/32 (не забыть /32 для одного ip)

4. Нажмите "Добавить",

5. Подождите несколько минут, чтобы он вступил в силу, а затем подключите ваш клиент MySql.



Это применимо только к экземплярам RDS, если вы используете MySql, установленный в экземпляре EC2, тогда инструкции такие же, как и обращение к MySql с любой удаленной машины.

Ответ 4

Я использую MySQL Workbench http://www.mysql.com/products/workbench/ с помощью RDS, и он отлично работает. Очень просто создать и сохранить новый экземпляр службы базы данных. Нажмите "Новый экземпляр сервера" в разделе "Администрирование сервера" и следуйте инструкциям. Вам необходимо будет ввести информацию, предоставленную на веб-странице AWS RDS для этого экземпляра (например, ее конечную точку).

ПРИМЕЧАНИЕ. Для того, чтобы вы действительно подключились, вы ДОЛЖНЫ добавить свой IP-адрес в "Группы безопасности БД". Ссылка находится в левом столбце, который называется "Навигация". Я использую параметр "CIDR/IP" (другой - группа безопасности EC2). Не забудьте указать "/##" после IP, например, "/32", которые они используют в примере (вы увидите его на странице). Через несколько секунд должен быть разрешен IP-адрес.

После этого вернитесь в MySQL Workbench и выполните процесс создания нового экземпляра сервера.

Чтобы использовать соединение, ваш код может выглядеть примерно так (это фрагменты кода Java):

String url = "jdbc:mysql://yourdatabasename.foo.us-east-1.rds.amazonaws.com:3306/";
String userName = "your_user_name";
String password = "your_password";
String dbName = "your_db_name";
String driver = "com.mysql.jdbc.Driver";
Connection connection = DriverManager.getConnection(url + dbName, userName, password);

Ответ 5

Я нахожусь на машине под Windows 7 и должен был сделать следующие 3 изменения, чтобы иметь возможность подключаться к AWD RDB.

  • Обновление группы VPC Security Group в консоли AWS (похоже на то, что mikemay имеет выше)

    • Из https://console.aws.amazon.com нажмите "Услуги" (вверху слева) и выберите VPC.
    • Далее выберите Группы безопасности
    • Нажмите на группу безопасности, которая имеет описание "Группа безопасности для RDS DB..."
    • На вкладке "Входящие" выберите "MYSQL" в раскрывающемся меню "Создать новое правило".
    • Добавьте свой IP-адрес в формате CIDR и нажмите "Добавить правило".
    • Нажмите "Применить изменения правила".
  • Обновление my.cnf в локальной конфигурации MySQL

    • Измените "bind-address = 127.0.0.1" на "bind-address = 0.0.0.0"
    • Комментарий "skip-networking"
  • Отключить брандмауэр Windows

    • Перейдите в Панель управления/Система и безопасность/Брандмауэр Windows и отключите брандмауэр Windows.

После этих изменений я могу подключиться через

  • MySQL WorkBench с использованием Database- > Connect to Database
  • Командная строка с

    mysql.exe -h <AWS DB Endpoint> -U <UserName> -P <Port Number, likely 3306> -p