问题
来自(Windows XP)LAN上其他IP的用户突然无法连接到我的本地MySQL服务器。
背景
我在本地Windows计算机上设置了MySQL,以便网络上的其他计算机可以访问root帐户。我已将每个IP添加为root的主机。几周前,事情完美无缺,我可以以编程方式连接到服务器并使用各种MySQL管理工具。然而,现在,MySQL服务器只是拒绝来自这些IP的连接,我无法弄清楚原因。
我所做的网络改变是:改变两台(三台)计算机的网卡,并摆弄MySQL设置。这些都不应该导致这个问题。我尝试添加一个包含所有相关主机的新用户,但我得到了相同类型的错误:
MySQL错误号1045访问被拒绝 对于用户'root'@'shop'(使用 密码:是)
奇怪的是,使用计算机名称“shop”代替IP。我不知道为什么。
答案 0 :(得分:2)
不知何故,IP现在似乎已经解决并且使用了主机名。您是否授予root @ shop访问权限?你有特权吗?
答案 1 :(得分:1)
首先要考虑的是Windows防火墙,如果您在主机上交换了NIC,可能会重新启用它。
我的下一个建议是在主机上使用Wireshark之类的嗅探器,看看确实在数据包方面发生了什么。您可以使用过滤器来减少输出 - 它们非常简单易用。这个工具为我节省了无数个小时的调试时间。
- 编辑 -
另一个可能的原因可能是您的服务器以某种方式决定将IP解析为主机名,在这种情况下,IP地址可能不再起作用 - 需要将主机名添加到允许的列表中。不确定它是否适用于MySQL。
答案 2 :(得分:0)
你能关闭MySQL中的TCP连接吗?
此外,您的防火墙中是否打开了MySQL端口?
答案 3 :(得分:0)
如果您更改了IP(DHCP?),请确保在my.cnf中更正它,如果您将mysqld绑定到您的LAN上:
[mysqld]
...
bind-address=192.168.x.y