【发布时间】: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 流量。