正如标题所述,我想远程连接到mysql,它在Windows服务器上,但是出现了此错误消息。
Cant connect to mysql server on X.X.X.X
我正在用HeidiSql调试它
我已经安装了MariaDB。
我还可以使用远程连接连接到服务器。
服务器正在运行,并且可以连接到mysql localy
我尝试了什么:
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),
我在论坛上花费了许多时间,并尝试了所有说明,但仍然无法连接。
任何帮助将不胜感激!
答案 0 :(得分:0)
详细的问题可能来自两个不同的原因:
第一个选项:
MySQL绑定到127.0.0.1或根本没有ip。检查Windows cmd上的netstat以查找3306端口,该端口已向mysql进程打开并绑定到您的网络LAN接口或0.0.0.0(不环回/ 127.0.0.1 // :: 1)
要检查netstat,请使用netstat -a -n -o,您也可以在响应中看到进程的PID。
要检查MySQL是否在同一台机器上运行,请尝试使用mysql -h 127.0.0.1(用于localhost连接)或mysql -h(您的LAN IP)从本地控制台连接(如果mysql仅绑定到您的LAN IP地址)。
第二个选项:
如果第一次测试正常。也许Windows防火墙配置不正确。尝试禁用Windows防火墙(仔细检查以禁用它)。您的问题的错误响应是因为Windows防火墙处于活动状态并阻止了连接。验证后,可以在关闭防火墙的情况下访问3306,启用它并进行配置。始终检查您是否在所需的网络配置文件上打开端口(请记住,Windows防火墙对于专用/公用连接可能具有不同的规则)。
要检查防火墙配置是否正确,请尝试从LAN上的另一个计算机访问计算机上的3306端口。
如果您的大型LAN网络具有VLAN和类似技术,请检查您的路由拓扑。另外,请记住始终要进行初始检查,请禁用Windows防火墙。您的ping操作失败,因为启用了防火墙。