2013-08-21 137 views
0

这是疯狂。LAN PC无法连接MySQL服务器

在我的Windows 7笔记本电脑(局域网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

您正在使用的用户是否允许远程连接到您的mysql服务器?也许您正在使用的用户只能从本地主机连接(请参阅mysql.user表的用户主机) –

+0

我正在使用root用户 – Wolfchamane

+0

默认情况下,根用户默认情况下仅限于本地主机访问(只要我记住)你必须改变mysql.user的主机字段为root,这可能是问题所在。而且,正如@cuewizchris所述,这可能是一个绑定地址问题。 my.ini文件应该在那里,因为它是mysql的配置文件。该文件应位于安装目录中(如果您不使用xamp或wamp)。 –

回答

2

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

看看你的my.ini。如果你发现这样一行:

bind-address 127.0.0.1 

...评论它通过把一个#在前面,并重新启动你的MySQL服务器进程,因为这一行导致MySQL装死甚至telnet连接尝试像一个你做的。

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

+0

有没有这样的线 – Wolfchamane

+0

那么,这是一个很好的猜测。 – ciruvan