VB6.0连接局域网XAMPP中MySQL服务器失败的服务器端配置疑问
我来帮你梳理下服务器端需要检查的几个关键配置,应该能解决VB6程序的连接问题:
检查MySQL用户的远程访问权限
虽然你提到其他电脑能连接服务器,但要确认程序里用到的root用户是否被授权从客户端IP访问。默认情况下,MySQL的root账号通常只允许本地(localhost/127.0.0.1)访问。你可以登录MySQL控制台执行以下命令来授权:GRANT ALL PRIVILEGES ON mms.* TO 'root'@'%' IDENTIFIED BY '你的密码'; FLUSH PRIVILEGES;这里的
%代表允许从任意IP访问,如果你想限制特定客户端,把%换成对应的局域网IP即可。修改MySQL的绑定地址
打开XAMPP控制面板中MySQL的配置文件(点击MySQL模块的Config按钮就能找到,通常是my.ini或my.cnf),找到bind-address这一行,修改为:bind-address = 0.0.0.0这个设置会让MySQL监听服务器上所有可用的网络接口,而不是只局限于本地回环地址。修改完成后记得重启MySQL服务生效。
禁用
skip-networking配置
同样在上述配置文件中,检查是否存在skip-networking这一行。如果有,一定要把它注释掉(在行首添加#)——这个配置会禁用MySQL的TCP/IP连接功能,只允许本地套接字访问,远程程序自然连不上。确认服务器防火墙规则
即便其他电脑能连接,也得确认服务器的防火墙(Windows防火墙、Linux的iptables/ufw等)是否允许3306端口的入站请求。可以先临时关闭防火墙测试连接,如果能成功,就需要给防火墙添加一条允许3306端口的规则。验证MySQL的监听状态
在服务器上执行命令检查MySQL的监听情况:- Windows系统:
netstat -ano | findstr 3306 - Linux系统:
netstat -tulpn | grep 3306
确认输出结果里的监听地址是0.0.0.0:3306,而不是127.0.0.1:3306,这表示MySQL正在监听所有网络接口。
- Windows系统:
额外提一句:你的连接字符串用的是MySQL ODBC 3.51 Driver,如果XAMPP里的MySQL版本是8.0及以上,这个旧驱动可能存在兼容性问题。不过这属于客户端的调整项,先把服务器端的配置排查完再考虑这个也不迟。
内容的提问来源于stack exchange,提问作者Curt Anderson

