将EC2实例上的MySQL连接到Rails应用程序

将EC2实例上的MySQL连接到Rails应用程序,mysql,ruby-on-rails,amazon-web-services,heroku,amazon-ec2,Mysql,Ruby On Rails,Amazon Web Services,Heroku,Amazon Ec2,我对AWS非常陌生,我正在尝试将我的Rails应用程序连接到直接在AWS EC2实例上创建的MySQL数据库,而不是在RDS上(这会使通过RDS数据库实例远程连接更加容易) mySQL数据库是由一个外包的开发人员创建的,他不知道RDS。有没有一种方法可以让我创建一个RDS实例来查看已经存在的mySQL数据库,或者让我直接从Rails应用程序访问这个数据库?我使用Heroku进行部署,如果这有什么区别的话 我能够使用ssh cli访问EC2 ubuntu实例,然后连接到mysql: ssh-i路径

我对AWS非常陌生,我正在尝试将我的Rails应用程序连接到直接在AWS EC2实例上创建的MySQL数据库,而不是在RDS上(这会使通过RDS数据库实例远程连接更加容易)

mySQL数据库是由一个外包的开发人员创建的,他不知道RDS。有没有一种方法可以让我创建一个RDS实例来查看已经存在的mySQL数据库,或者让我直接从Rails应用程序访问这个数据库?我使用Heroku进行部署,如果这有什么区别的话

我能够使用
ssh cli
访问EC2 ubuntu实例,然后连接到mysql:

ssh-i路径/to/credentials/scrapy-aws-keypair.pemubuntu@52.xx.xxx.xx
mysql-u root-p***
,这两种方法非常有效。然而,当我尝试以下方法时

development\u sec:
适配器:mysql2
数据库:my_数据库
编码:utf8
用户名:root
密码:xxxxxxxx
主机:ec2-52-xx-xxx-xx.us-east-2.compute.amazonaws.com
港口:3306

试着联系一下,我发现
无法连接到'ec2-52-xx-xxx-xx.us-east-x.compute.amazonaws.com'上的MySQL服务器。


如有任何建议,将不胜感激。谢谢。

您应该能够连接到EC2实例,并将连接端口设置为MySQL DB的端口(3306默认值)

我已经更新了问题。是的,我试图连接,但出现了一个错误。看起来MySQL有一些安全设置,可以防止在没有ssh的情况下进行身份验证…或者其他什么?检查防火墙是否没有阻止MySQL连接。如果这是好的,可能是您没有使用keypair.pem文件进行连接。我不知道是否可以使用mysql的ssh密钥。尝试在服务器上生成另一个ssh密钥,并将其用于mysql连接。您计算机上的密钥将位于.ssh目录中