这很疯狂。
在我的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)
我甚至尝试过禁用所有防火墙。 有什么建议吗?
答案 0 :(得分:2)
可能是您的MySQL配置为不侦听来自外部的任何连接尝试。
查看my.ini
内部。如果您找到这样的一行:
bind-address 127.0.0.1
...通过在前面放置一个#
并重新启动MySQL服务器进程来评论它,因为这条线导致MySQL甚至连接到你所做的telnet连接尝试都会死机。
当然,阻止访问您的数据库可能有其他可能的原因,但这是一个常见的原因。