【问题标题】:Unable to connect to MySQL AWS RDS instance from local MySQL无法从本地 MySQL 连接到 MySQL AWS RDS 实例
【发布时间】:2015-04-30 00:26:42
【问题描述】:

我已经使用 VPC 创建了一个 MySQL RDS 实例。现在我正在尝试使用 MySQL 客户端通过以下代码从我的 Ubuntu 12.04 机器连接到该 RDS 实例:

mysql -u uname -h test.c6tjb4nxvlri.us-west-2.rds.amazonaws.com -P 3306 -p

但我收到此错误:

ERROR 2003 (HY000): Can't connect to MySQL server on 'test.c6tjb4nxvlri.us-west-2.rds.amazonaws.com' (110)

我搜索了这个错误,到处都是解决方案,就像

  • 转到实例
  • 找到安全组
  • 通过
  • 更改该安全组的入站规则
  • 添加用户机器公共ip的来源或
  • 设置源ip为0.0.0.0/16

我尝试了所有方法,但仍然出现同样的错误。有什么解释吗?

【问题讨论】:

  • 你能ping通那个实例吗?
  • 不。什么都没有。显示IP后就卡住了
  • @TomCammann Amazon rds 无法 ping

标签: mysql amazon-web-services amazon-rds amazon-vpc


【解决方案1】:

问题出在子网中。您创建的子网必须可公开访问。

【讨论】:

  • 你能告诉我怎么做吗?
【解决方案2】:
  1. 在本地 MySQL Workbench 中,使用 TCP/IP SSH 隧道 选项。确保您有 EC2 实例端点和密钥对文件。
  2. 在 SSH 端点中 - 添加您的 EC2 实例端点,对于 SSH 密码,浏览您的密钥对。 MySQL 的其余配置。像 MySQL 的端点、用户名、密码、端口和架构名称。
  3. 测试您的连接,它将返回成功。如果不是,请检查 RDS 安全组。在安全组中,您为所有 IP 地址打开 MySQL 端口。试试吧!它会起作用的。连接成功后,所有架构都将在 MySQL Workbench 中可见。
  4. RDS 数据库实例不必位于公共子网中,这不是最佳做法。始终将 RDS 数据库实例保留在私有子网中,并为 EC2 实例打开流量。

当您使用 TCP/IP SSH 隧道时,请求流量将通过 EC2 实例发送到 RDS 数据库实例。

HTH。

【讨论】:

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