【问题标题】:Can't connect from an amazon ec2 instance to a mysql server on an external host无法从亚马逊 ec2 实例连接到外部主机上的 mysql 服务器
【发布时间】:2011-07-25 17:46:18
【问题描述】:

我有一个 mysql 服务器托管在 hostgator 的专用服务器上。我有一个安装了 mysql 的 amzon ec2 实例。我使用 putty 通过 SSH 连接到 ec2 实例。我正在尝试从 ec2 实例连接我的外部主机上的 mysql 服务器

mysql -h XXX.XXX.XX.XXX -u XXXX -p

我得到一个错误 2003 (HY000) ...

我检查了所有可能的问题,唯一能想到的就是亚马逊防火墙。

如果我反转该过程并尝试通过 SSh 从我的外部服务器连接到 ec2 mysql db。它有效。

我还从另一个外部服务器连接到同一个外部服务器。

请问有人有解决方案为什么我无法从亚马逊 ec2 实例连接到外部数据库

【问题讨论】:

  • 外部 MySQL 服务器如何设置防火墙?它可以从任何地方接受端口 3306 上的连接吗? (0.0.0.0/0)

标签: mysql amazon-ec2 firewall


【解决方案1】:

嗯.. 外部数据库可能被防火墙或外部服务器上的 mysql 只接受来自该主机的连接。

【讨论】:

    【解决方案2】:

    您是否为盒子设置了安全组(在 AWS 中)?

    如果是,您是否允许您指定的端口?

    【讨论】:

    • 是的,我设置了一个安全组。端口 22,80 和 3306 允许流量。是否有其他用于传出流量的设置。
    【解决方案3】:

    我在 EC2 中的外部连接也有一个大问题,我只能在创建一个具有所有授权选项的新用户后才能连接,我似乎 root 访问只能在 localhost 上连接。

    我做了我能做的一切,打开了我的防火墙,更改了 my.conf 指令,它只在我创建另一个具有所有授权的用户时才有效。

    【讨论】:

      【解决方案4】:

      发件人:http://alestic.com/2009/08/ec2-connectivity

      编辑 /etc/mysql/my.cnf 并替换这一行:

      bind-address = 127.0.0.1
      

      bind-address = 0.0.0.0
      

      并重新启动 mysqld 服务器。

      【讨论】:

        猜你喜欢
        • 2013-07-24
        • 2014-05-02
        • 2016-01-12
        • 1970-01-01
        • 1970-01-01
        • 2013-09-28
        • 1970-01-01
        • 2012-01-16
        • 2010-12-28
        相关资源
        最近更新 更多