0

这太疯狂了。

在我的 Windows 7 笔记本电脑(LAN IP:192.168.1.201)中,我正在运行 MySQL 服务器(3306 默认端口)。我设置了 ZoneAlarm 以启用 TCP/IP 上的“mysqld.exe”和端口 3306 的任何通信。我设置了 Windows 的防火墙规则以启用通过端口 3306 的通信。并且我设置了 Windows 的主机文件:

127.0.0.1   localhost

我运行' netstat -na | grep 3306'并得到:

TCP   0.0.0.0:3306   0.0.0.0:0   LISTENING
TCP   [::]:3306      [::]:0      LISTENING

但是,当我尝试从局域网内的其他笔记本电脑(使用 Ubuntu)连接时,得到了这个响应。

对于' ping 192.168.1.201'

PING 192.168.1.201 (192.168.1.201) 56(84) bytes of data.
64 bytes from 192.168.1.201: icmp_req=1 ttl=128 time=0.753 ms

对于' telnet 192.168.1.201 3306'

Trying 192.168.1.201...
telnet: Unable to connect to remote host: Connection timed out

所以,每当我想从 Ubuntu 的笔记本电脑连接到我的 Windows 时,我得到:

对于' mysql -u XXXX -h 192.168.1.201 -p XXXX'

ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.1.201' (110)

我什至尝试禁用所有防火墙。有什么建议吗?

4

1 回答 1

2

可能是您的 MySQL 配置为不侦听来自外部的任何连接尝试。

看看你的内部my.ini。如果你找到这样的一行:

bind-address 127.0.0.1

...通过在前面放一个注释它#并重新启动您的 MySQL 服务器进程,因为此行会导致 MySQL 甚至无法像您所做的那样进行 telnet 连接尝试。

当然,可能还有其他可能的原因阻止访问您的数据库,但这是一个常见的原因。

于 2013-08-21T09:52:41.607 回答