2017-07-11 52 views
-1

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

mySQL db被设置为由不知道RDS的外包开发人员进行刮取。有没有办法让我创建RDS实例,查看已经存在的MySQL数据库,或者直接从我的Rails应用程序访问这个数据库?我使用Heroku进行部署,如果这有什么区别的话。

我能之后使用ssh cli访问EC2 Ubuntu的实例,然后连接到MySQL:

ssh -i path/to/credentials/scrapy-aws-keypair.pem [email protected]mysql -u root -p *****,它的伟大工程。但是,当我尝试以下方法

development_sec: adapter: mysql2 database: my_database encoding: utf8 username: root password: xxxxxxxx host: ec2-52-xx-xxx-xx.us-east-2.compute.amazonaws.com port: 3306

,并尝试瞬移,我得到Can't connect to MySQL server on 'ec2-52-xx-xxx-xx.us-east-x.compute.amazonaws.com'

任何建议将高度赞赏。谢谢。

回答

0

你应该能够连接到EC2实例,并设置连接到你的MySQL数据库的端口(默认3306)

+0

我已经更新了问题的端口。是的,我试图连接并出现错误。看起来MySQL有一些安全设置可以防止没有ssh的身份验证......或者什么? –

+0

检查防火墙是否阻止了mysql连接。如果这很好,可能是因为您没有使用keypair.pem文件进行连接。我不知道是否可以使用mysql的ssh密钥。尝试在您的服务器上生成另一个ssh密钥并将其用于mysql连接。您的机器上的密钥将位于.ssh目录中 – Silencer310

相关问题