У меня проблемы с доступом к базе данных MySQL Amazon RDS с моего сервера.
Я получаю это: -
[Thu Sep 22 13:45:33 2011] [error] [client xx.xx.xx.xx] PHP Warning: mysqli::mysqli() [<a href='function.mysqli-mysqli'>fqli-mysqli</a>]: (HY000/2003): Can't connect to MySQL server on 'xxxx-1.rds.amazonaws.com' (110) xxx.php on line 22, referer: xxx**
Я пробовал вручную получить доступ через cmdline на сервере с помощью: -
mysql -h xxxx.rds.amazonaws.com -p --port = 3306
Затем я спрашиваю пароль, который я ввожу, и он зависает и говорит
ОШИБКА 2003 (HY000): не удается подключиться к серверу MySQL на 'xxxx.rds.amazonaws.com' (110)
Это проблема, связанная с портом и / или брандмауэром? Если да, то к чему я должен обратиться?
Это потому, что я уже запускаю mysql srvr на этом компьютере, на порту 3306?
Возможные причины: - брандмауэр блокирует доступ к порту 3306 - сервер базы данных не работает на порте по умолчанию (3306) - демон MySQL настроен на прием соединений только с локального хоста, а не с удаленного хоста. (можно проверить с помощью netstat -ntlp).
У меня была такая же проблема при попытке подключиться к удаленной базе данных mysql.
Я исправил это, открыв брандмауэр на сервере db, чтобы пропустить трафик:
sudo ufw allow mysql
Я думаю, что ваша группа безопасности экземпляра ec2 должна иметь исходящий {All TCP} и выбрать место назначения в любом месте или на свой IP-адрес.
Серверы RDS не являются общедоступными. Если вы попытаетесь пропинговать URL-адрес конечной точки, вы увидите, что он возвращает частный (локальный адрес в подсети БД), а не общедоступный IP-адрес.
Поскольку вы не можете присоединить эластичный IP-адрес к RDS (и не должны этого делать, поскольку он будет привязан к сетевому интерфейсу, а не к конечной точке подключения), у вас есть два варианта доступа к удаленному RDS.
A) Используйте туннель SSH. B) Создайте VPC с общедоступной подсетью и используйте преобразование сетевых адресов для маршрутизации подключений к частной подсети. Вы должны направить соединение через эластичный балансировщик нагрузки, чтобы избежать единой точки отказа.