У меня есть экземпляр EC2 с кодом Rails, и я пытаюсь настроить его, чтобы поговорить с Amazon RDS, но я получаю сообщение об ошибке при попытке запустить сервер rails что я не знаю, как исправить:Настройка Rails на EC2 и RDS
/opt/bitnami/ruby/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11/lib/mysql2/client.rb:44:in `connect': Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (Mysql2::Error)
в моем файле database.yml, у меня есть это:
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: development
pool: 5
username: root
password: secret
host: localhost
production:
adapter: mysql2
encoding: utf8
database: mydbname
username: myusername
password: mypassword
host: mypublicdnsformydb
port: 3306
я назначил экземпляр RDS в той же группе безопасности, как мой EC2, который имеет :
22 (SSH) 0.0.0.0/0
80 (HTTP) 0.0.0.0/0
443 (HTTPS) 0.0.0.0/0
Когда я добавляю CIDR моего ПК, я могу подключиться к экземпляру отлично, поэтому я уверен, что мое имя пользователя, пароль и хост верны.
Вы пытались подключиться к RDS с помощью 'MySQL -u <ваш-дб-имя пользователя> -p <ваш-дб-пароль> -h <ваш-выстр-государственные/частные DNS> '? Можете ли вы попробовать и опубликовать вывод ошибки, если таковой имеется? Кроме того, из вашей группы безопасности я не вижу никакого правила, которое говорит об открытии порта MySQL 3306 на вашем экземпляре RDS. Это может быть и флаг. – rhetonik
Вы имеете в виду под управлением этой команды из EC2? Порт кажется открытым, так как я могу войти в экземпляр RDS с моего ПК. – yellowreign
Да, команда должна быть выполнена из вашего экземпляра EC2. Группа безопасности RDS указывает, что экземпляр имеет доступ к SSH, HTTP и HTTPS, но он не обеспечивает доступ к MySQL. При входе с локального ПК на экземпляр RDS вы имели в виду логин SSH или логин MySQL? – rhetonik