Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用户可以';t远程连接到MySQL_Mysql_Networking_Connection_Connectivity - Fatal编程技术网

用户可以';t远程连接到MySQL

用户可以';t远程连接到MySQL,mysql,networking,connection,connectivity,Mysql,Networking,Connection,Connectivity,问题 来自(Windows XP)LAN上其他IP的用户突然无法连接到我的本地MySQL服务器 背景 我已经在本地Windows计算机上设置了MySQL,以便网络上的其他计算机可以访问根帐户。我已将每个IP添加为root的主机。几周前,一切都完美无缺,我可以通过编程和使用各种MySQL管理工具连接到服务器。然而,现在MySQL服务器只是拒绝来自这些IP的连接,我不明白为什么 我所做的网络更改是:为两台(三台)计算机更换网卡,并摆弄MySQL设置。所有这些都不应该导致这个问题。我尝试添加一个具有所

问题

来自(Windows XP)LAN上其他IP的用户突然无法连接到我的本地MySQL服务器

背景

我已经在本地Windows计算机上设置了MySQL,以便网络上的其他计算机可以访问根帐户。我已将每个IP添加为root的主机。几周前,一切都完美无缺,我可以通过编程和使用各种MySQL管理工具连接到服务器。然而,现在MySQL服务器只是拒绝来自这些IP的连接,我不明白为什么

我所做的网络更改是:为两台(三台)计算机更换网卡,并摆弄MySQL设置。所有这些都不应该导致这个问题。我尝试添加一个具有所有相关主机的新用户,但出现了相同类型的错误:

MySQL错误号1045访问被拒绝 对于用户“root”@“shop”(使用 密码:是)


奇怪的是,计算机名“shop”被用来代替IP。我不知道为什么。

你能在MySQL中关闭TCP连接吗


此外,防火墙中的MySQL端口是否打开?

首先想到的是Windows防火墙,如果您在主机上交换NIC,它可能会重新启用

我的下一个建议是在主机上使用一个类似于嗅探器的工具,看看到底发生了什么。您可以使用过滤器来减少输出-它们非常简单且易于使用。这个工具为我节省了无数个小时的调试时间

-编辑-


另一个可能的原因可能是您的服务器以某种方式决定将ip解析为主机名,在这种情况下,ip地址可能不再工作-需要将主机名添加到允许的列表中。但不确定MySQL是否可以这样工作。

不知何故,IP现在似乎已经解决了,并且使用了主机名。您是否授予访问权限root@shop? 您是否刷新了权限?

如果您更改了IP(DHCP?),请确保在my.cnf中将mysqld绑定到lan IP时进行更正:

[mysqld]
...
bind-address=192.168.x.y

Windows防火墙未启用。我正在使用另一个软件防火墙,但它已完全禁用。谢谢你的建议。我觉得我需要补充的是,客户端可以连接到服务器,但访问被拒绝。你说得对!我已经将每台计算机的名称添加为主机,但它们是用大写字母而不是大写字母写的——mysql认为主机名不区分大小写。是否关闭TCP连接?我不记得触摸过与此相关的设置。帖子是开放的,但我甚至禁用了MySQL服务器上的防火墙。是的,我为每台计算机添加了名称和IP。但我还没有透露秘密。谢谢你的提示!这不仅仅是一个提示。答案是:)