正如标题所说,我想远程连接到mysql,它在windows服务器上,但我收到了这个错误消息。
Cant connect to mysql server on X.X.X.X
我正在用HeidiSql 字符串
我安装了MariaDB。
此外,我可以使用远程连接连接到服务器。
服务器正在运行,可以连接到mysql本地
我试过什么:
- 我找到了my.ini文件,并检查我是否没有以下命令之一:
Skip-networking
bind-address = some IP
我一开始就没有
-
我登录了我的MariaDB终端,并使用以下方式向用户授予了所有权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.100.%' IDENTIFIED BY 'my-new-password' WITH GRANT OPTION;
-
我已将端口3306添加到windows防火墙
-
我想值得一提的是,我也不能ping那个服务器如果我做
ping X.X.X.X
它返回:
Pinging X.X.X.X with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for X.X.X.X:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
我花了很多时间在论坛上,尝试了所有的说明,但仍然无法连接。
任何帮助都将不胜感激!
详细的问题可能来自两个不同的原因:
第一种选择:
MySQL绑定到127.0.0.1或者根本没有ip。检查windows cmd上的netstat,以查找打开到mysql进程并绑定到网络LAN接口或0.0.0.0(不到环回/120.0.1//::1(的3306端口
对于检查netstat,使用netstat-a-n-o,您也可以在响应中看到进程的PID。
为了检查MySQL是否在同一台机器上工作,请尝试使用MySQL-h 127.0.0.1(用于本地主机连接(或MySQL-h(您的LAN IP(从本地控制台连接(如果您只将MySQL绑定到LAN IP地址(。
第二个选项:
如果第一次测试正常。也许windows防火墙配置不正确。尝试禁用windows防火墙(仔细检查是否禁用(。您问题的错误响应是因为windows防火墙处于活动状态并阻止连接。验证后,您可以在防火墙关闭的情况下访问3306,启用并配置。请始终检查您是否正在打开所需网络配置文件上的端口(请记住,windows防火墙可能对专用/公用连接有不同的规则(。
要检查防火墙是否正确配置,请尝试从LAN上的另一个计算机访问计算机上的3306端口。
如果您有一个使用VLAN和类似技术的大型局域网,请检查您的路由拓扑。此外,请记住,对于初始检查,请始终禁用windows防火墙。由于启用了防火墙,您的ping失败。