【问题标题】:Cannot Connect to MySQL Port in AWS Instance无法连接到 AWS 实例中的 MySQL 端口
【发布时间】:2019-11-29 05:28:48
【问题描述】:

我们的本地 PC 无法连接到我们 AWS 实例的 MySQL。已经完成了其他堆栈问题中提到的步骤,例如将绑定地址设置为 0.0.0.0(请参见图 #1)、创建特定用户(参见图 #2)并在 AWS 中添加安全规则以允许所有连接(参见图 # 3)。

我已经做了我认为可以做的任何事情,但仍然无法远程连接到 MySQL。

图片#1:

图片#2:

图片#3:

图片#4

【问题讨论】:

  • 您遇到了哪个错误?您可以连接到实例但用户名或密码错误吗?或者你有没有用telnet检查过连接? telnet yourip 3306
  • 我无法使用 telnet 连接到 3306 端口。 :) @Stony

标签: mysql amazon-web-services amazon-ec2


【解决方案1】:

如果您确定您的输入是正确的并且它们看起来是正确的。那么你有一些可能性。

  1. 检查您是否可以使用 telnet telnet yourip 3306 连接到服务器,然后您应该会得到结果。

  2. 检查是否更改了正确的安全组。可能该组未连接到您的实例。

  3. 我认为这不应该是问题,但如果您有一些自定义规则,您应该检查您的 NACL。也许有什么东西阻止了你的连接。

因此,如果您可以连接到 MySQL 但无法登录,那么您应该检查权限。对于 MySQL 的更改,不要忘记重新启动 MySQL 服务。

使用netstat -tulpen,您可以检查端口是否打开。

【讨论】:

  • 对于#1,我无法连接这是我在这里寻求帮助的原因之一。 :) ;对于#2,是的,它已连接到我的实例:);对于#3,iptables 已关闭。最后,端口是开放的(检查图像#4)
  • 您是否有阻止您的流量的本地防火墙?如果您有公司防火墙,通常会阻止此类端口。
  • 我认为不是公司防火墙,因为我们可以连接到其他服务器的 3306 端口。
  • 如果在该规则中包含目标IP,您可以连接到其他服务器没有什么可说的。然后你可以连接到目标,因为它们是显式打开的。
  • 我已经检查了我们的防火墙,并且端口 3306 没有被阻止。
【解决方案2】:

sudo grep -R 绑定 /etc/mysql

将显示所有绑定配置。可能存在冲突的 .conf 文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-01
    • 2021-04-02
    • 2015-04-30
    • 2021-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多