无法从本地 MySQL 连接到 MySQL AWS RDS 实例
Unable to connect to MySQL AWS RDS instance from local MySQL
我已经使用 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)
我搜索了这个错误,到处都找到了解决方案,比如
- 转到实例
- 找到安全组
- 通过
更改该安全组的入站规则
- 添加用户机器源public ip or
- 设置源ip为0.0.0.0/16
我尝试了所有方法,但仍然出现同样的错误。有什么解释吗?
问题出在子网中。您创建的子网必须可公开访问。
- 在本地 MySQL Workbench 中,使用 TCP/IP SSH 隧道 选项。确保您拥有 EC2 实例端点和密钥对文件。
- 在 SSH 端点中 - 添加您的 EC2 实例端点和 SSH 密码,浏览您的密钥对。 MySQL 的其余配置。像 MySQL 的端点、用户名、密码、端口和架构名称。
- 测试您的连接,它将 return 成功。如果不是,请检查 RDS 安全组。在安全组中,您为所有 IP 地址打开 MySQL 端口。尝试一下!它会起作用。连接成功后,所有架构在 MySQL Workbench.
中可见
- RDS 数据库实例不需要位于 public 子网中,这不是最佳做法。始终将 RDS 数据库实例保持在私有子网中并为 EC2 实例开放流量。
当您使用 TCP/IP SSH 隧道时,请求流量将通过 EC2 实例发送到 RDS 数据库实例。
HTH.
我已经使用 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)
我搜索了这个错误,到处都找到了解决方案,比如
- 转到实例
- 找到安全组
- 通过 更改该安全组的入站规则
- 添加用户机器源public ip or
- 设置源ip为0.0.0.0/16
我尝试了所有方法,但仍然出现同样的错误。有什么解释吗?
问题出在子网中。您创建的子网必须可公开访问。
- 在本地 MySQL Workbench 中,使用 TCP/IP SSH 隧道 选项。确保您拥有 EC2 实例端点和密钥对文件。
- 在 SSH 端点中 - 添加您的 EC2 实例端点和 SSH 密码,浏览您的密钥对。 MySQL 的其余配置。像 MySQL 的端点、用户名、密码、端口和架构名称。
- 测试您的连接,它将 return 成功。如果不是,请检查 RDS 安全组。在安全组中,您为所有 IP 地址打开 MySQL 端口。尝试一下!它会起作用。连接成功后,所有架构在 MySQL Workbench. 中可见
- RDS 数据库实例不需要位于 public 子网中,这不是最佳做法。始终将 RDS 数据库实例保持在私有子网中并为 EC2 实例开放流量。
当您使用 TCP/IP SSH 隧道时,请求流量将通过 EC2 实例发送到 RDS 数据库实例。
HTH.