【问题标题】:Cannot connect to remote AWS Linux MySQL from local Windows machine无法从本地 Windows 机器连接到远程 AWS Linux MySQL
【发布时间】:2016-07-12 21:55:41
【问题描述】:

我在远程 AWS Linux 机器上有一个 MySQL 数据库服务器。我可以通过 SSH 访问该服务器。 但是,我需要从我的 Windows 计算机访问它并且它不起作用(使用 mysql -u root -p -h remoteAddress 其中 remoteAddress 在我的远程服务器的 IP 地址中)。我还安装了一个本地 MySQL 服务器,因此 Windows 上的 mysql -u root -p -h localhost 可以正常工作。

我已经阅读了很多关于此的内容,但没有任何解决方案适合我。我得到的错误是:

错误 2003 (HY000):无法连接到“remoteAddress”上的 MySQL 服务器 (10060)

现在我在 my.cnf 文件中注释掉了绑定地址,此外使用 phpmyadmin,我可以确认可以从任何地方访问 root(即从 % 表示)。

即使我关闭了 iptables 服务,我仍然会遇到同样的错误。

此外,如果我输入 netstat -tln | grep 3306,我得到:

tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN

我目前不关心安全隐患,我只想让它发挥作用。

【问题讨论】:

  • 首先检查你的mysql是否在默认端口3306上运行,然后检查你是否使用公共DNS/IP远程连接它。
  • 即使您的第一步应该是从 localhost 检查 mysql 连接意味着首先从 putty 连接您的 EC2 实例并连接 mysql,如果您能够在本地连接,那么您应该尝试远程连接..... .在注释绑定地址后还有一件事您是否重新启动了mysql服务。
  • 然后检查远程服务器是否配置为远程接受连接。您可能必须通过 ssh 隧道连接 mysql。
  • 感谢 cmets 的各位。 SSH 工作正常,因为从一开始就允许 SSH 流量。

标签: mysql linux


【解决方案1】:

在阅读了有关我的问题的 cmets 后,我有了一个想法,这使我找到了解决方案。服务器上的所有内容都已正确设置,除了 AWS 在需要更改的内容之上设置了一定级别的安全性。

我只是将 MySQL 添加到安全组设置中允许的入站流量列表中并解决了它。我应该在创建实例时这样做,但当时我不知道我会在服务器上使用 MySQL。 所以我修改了安全组以添加 MySQL 流量。

我知道这是一个非常小众的问题,但如果他们发现自己处于同样的情况,我希望它对某人有所帮助。

【讨论】:

  • 您应该接受您自己的答案并提及您修改了安全组。
  • 我想接受自己的答案,但堆栈溢出说我必须等待两天。不过我会添加安全组信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-13
  • 2016-01-20
  • 1970-01-01
  • 1970-01-01
  • 2012-01-10
  • 2019-02-23
相关资源
最近更新 更多