【问题标题】:Cant connect to mysql server on AWS RDS无法连接到 AWS RDS 上的 mysql 服务器
【发布时间】:2014-02-25 01:19:53
【问题描述】:

我是 AWS RDS 的新手。我已经创建了 RDS 实例。但我不知道,我该如何连接这个数据库。 我试过这样

mysql -h awsinstanamehere.rds.amazonaws.com -P 3306 -u username -p

在我输入密码后,我收到了一些类似这样的错误

ERROR 2003 (HY000): 无法连接到 MySQL 服务器 'awsinstanamehere.rds.amazonaws.com' (110)

需要在 AWS 控制台中设置任何安全设置吗?

注意: 我想为那个数据库导入表

谢谢

【问题讨论】:

    标签: mysql amazon-web-services


    【解决方案1】:

    RDS 有一个安全组 - 在 AWS 控制台 RDS 中有一个安全组条目。

    如果您没有明确创建安全组,您可能使用的是“默认”。每个 RDS 实例可能应该有一个组。

    您需要确保端口 3306 对您的本地网络以及您将用来连接它的任何应用程序都是开放的。您可以允许按 IP 或按安全组访问。

    【讨论】:

    • 感谢您的回复。现在我可以访问数据库了。如何将所有表从 ec2 实例导入 rds。或者如何将表从本地系统导入 RDS 实例。
    • 当我尝试这样做时,我被转发到 VPC 管理控制台,我可以从那里做些什么吗?
    【解决方案2】:

    同样的错误,但在我的情况下,问题与安全组无关。
    我忘记在子网的路由表中添加额外的路由。

    请参阅下面的第二条路由,其中​​将 Internet 网关添加为所有非本地流量(VPC 外部)的目标:

    【讨论】:

    • 谢谢你,你让我开心!!
    【解决方案3】:

    我在回答这些问题时遇到了一些麻烦,所以这里是我为使其正常工作所遵循的步骤...

    1. 通过 ssh 登录到我的 ec2 实例。
    2. 输入了这个命令,curl canhazip.com
    3. 复制了返回的ip地址
    4. 在 aws 中访问了我的 VPC Dashboard
    5. 点击左侧栏中的Security Groups
    6. 单击其中一个安全组旁边的复选框
    7. 点击Inbound Rules标签下的Edit
    8. 添加了这条规则:MySQL/Aurora (3306) TCP (6) 3306 [IP from #2]/32
    9. 已保存

    我对每个安全组都这样做了,直到 mysql 连接从命令行工作,然后删除了所有我不需要的,并重新测试以确保我仍然可以连接。

    【讨论】:

      【解决方案4】:

      默认情况下,AWS 定义的安全组未针对公开可用的入站源进行配置。您必须将安全组入站源 ip 修改为 0.0.0.0/0

      【讨论】:

      • 这不是一个好的答案,因为它向所有人开放。应该明确输入您的 IP。
      【解决方案5】:

      当我添加端口 3306 时它对我有用,而它只是 1433 它不起作用....

      所以安全组是这样创建的

      安全组 vpc-XXXXXX

      MY SQL / TCP / 1433 / 0.0.0.0/0
      MY SQL / TCP / 1433 / ::/0
      MTSQL /Aurora / TCP / 3306 / 0.0.0.0/0
      MSSQL/Autora / TCP / 3306 / ::/0

      遵循标头类型/协议/端口范围/来源

      【讨论】:

        猜你喜欢
        • 2015-06-24
        • 2021-04-02
        • 2013-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-13
        • 2017-09-13
        • 1970-01-01
        相关资源
        最近更新 更多