【问题标题】:Connecting MySQL on EC2 instance to Rails app将 EC2 实例上的 MySQL 连接到 Rails 应用程序
【发布时间】:2017-12-16 01:11:57
【问题描述】:

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

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

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

ssh -i path/to/credentials/scrapy-aws-keypair.pem ubuntu@52.xx.xxx.xxmysql -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'

任何建议将不胜感激。谢谢。

【问题讨论】:

    标签: mysql ruby-on-rails amazon-web-services heroku amazon-ec2


    【解决方案1】:

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

    【讨论】:

    • 我已经更新了这个问题。是的,我尝试连接并遇到错误。似乎 MySQL 有一些安全设置可以防止没有 ssh 的身份验证......或其他什么?
    • 检查防火墙是否没有阻止mysql连接。如果这很好,可能是您没有使用 keypair.pem 文件进行连接。我不知道是否可以将 ssh 密钥用于 mysql。尝试在您的服务器上生成另一个 ssh 密钥并将其用于 mysql 连接。您机器上的密钥将在 .ssh 目录中
    猜你喜欢
    • 2018-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-08
    • 1970-01-01
    相关资源
    最近更新 更多