从本地计算机连接到AWS上的MySQL

Jef*_*ter 27 mysql remote-access amazon-web-services

我正在尝试在我的本地计算机上设置一个访问AWS上的MySQL数据库的开发环境,但我一直收到"无法连接"的消息.

mysql_connect('xxx.xxx.xxx.xxx:3306', 'USERNAME', 'PASSWORD');
Run Code Online (Sandbox Code Playgroud)

我还注释了my.cnf文件中的bind-address,并授予了连接的IP地址的权限.

有人成功地使这个工作?

mik*_*may 38

对于通过Elastic Beanstalk创建的RDS实例,我在2013年8月的经验如下.

0)假设已经创建了RDS实例
1)登录管理控制台:https://console.aws.amazon.com/console/home
2)选择服务 - > VPC
3)选择安全组(左侧)右手边)
4)选择其描述说,该组织"安全组的RDS DB ......"
5)在页面底部的安全组选定的面板上,选择"入站"
6)选择MySQL作为规则.
7)键入本地计算机的IP地址,例如145.23.32.15/32
8)单击"添加规则"和"应用规则更改"

执行此操作后,我可以使用本地计算机上的mysql连接到数据库.

a)从管理控制台选择Services-> RDS
b)单击数据库实例(我只有一个)并为所需实例选择"转到详细信息页面"
c)从端点获取主机和端口
d)从终端会话中执行像:mysql --host blah.blah.blah.us-west-2.rds.amazonaws.com --port 3306 -u my-user-name -p

  • 还有一件事要检查:从AWS控制台创建RDS实例时,必须将"Publicly Available"设置为yes.必须另外**打开安全组中的入站端口. (3认同)
  • 很棒的答案!这正是我想要的 (2认同)

Cbo*_*box 29

如果您通过RDS实例在AWS上使用MySql,则必须将要连接的IP地址添加到"数据库安全组".要执行此操作,请转到AWS Managment Console并选择RDS.
1.选择左侧面板上的"数据库安全组"
2.选择"默认"
3.从选择框中选择"CIDR/IP",然后输入工作站公共IP地址.示例:
23.234.192.123/32(不要忘记单个ip的/ 32)
4.单击"添加"
5.等待几分钟使其生效,然后连接MySql客户端.

这仅适用于RDS实例,如果您使用的是安装在EC2实例上的MySql,则说明与从任何远程计算机访问MySql相同.

  • 我只是连接到可以连接到RDS的正在运行的EC2实例,而不是通过将客户端的IP地址添加到RDS实例的严格程序.因此,MySQL WB中"管理数据库连接"对话框中的连接方法是"基于SSH的标准TCP/IP",然后指定SSH参数,最重要的是,指定MySQL主机名,即RDS主机名. (2认同)
  • 由于左侧面板中没有"数据库安全组"部分,因此现在已过时. (2认同)

Ste*_*n B 13

我想这是亚马逊的防火墙,尝试使用SSH隧道:

http://blogs.oracle.com/divyen/entry/connecting_mysql_server_on_amazon

注意:即使使用IP过滤,也不要将MySQL打开到公共互联网.SSH隧道更安全.最好的部分:隧道可以通过localhost:3306在您的机器上访问,无需更改配置:)