WinError 10060连接超时错误咨询及相关Python业务代码参考
WinError 10060 报错原因及解决方案
报错产生原因
- 数据库连接异常:你的代码引入了
mysql.connector依赖,大概率是程序中MySQL连接配置错误、目标数据库服务未启动、数据库服务器防火墙未开放对应端口、数据库账号未开通访问权限,导致连接超时触发报错。 - 自定义Socket通信异常:代码引入了
socket库,如果你编写了自定义Socket连接外部服务的逻辑,目标服务IP/端口错误、目标服务未启动、网络链路不通都会触发该超时错误。 - 本地环境限制:本机开启的代理、VPN、防火墙/安全软件拦截了程序的对外连接请求,或是本地网络本身不稳定无法到达目标服务。
可执行解决方案
数据库连接类问题排查
- 先校验你代码中MySQL连接的
host、port参数是否正确,可在本机命令行执行telnet 数据库IP 数据库端口(默认MySQL端口为3306)测试连通性,如果telnet不通,先确认目标服务器MySQL服务是否正常启动、服务器防火墙是否开放了对应端口的公网/内网访问权限。 - 如果连接的是远程MySQL,确认MySQL配置文件没有绑定本地127.0.0.1,且你使用的数据库账号开通了对应客户端IP的访问权限,权限配置参考SQL:
GRANT ALL PRIVILEGES ON 目标库名.* TO '你的数据库账号'@'客户端访问IP' IDENTIFIED BY '数据库密码'; FLUSH PRIVILEGES;
Socket通信类问题排查
- 给你的socket连接逻辑增加超时时间配置,避免长时间无响应触发系统级超时报错,示例代码:
import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 设置10秒超时,可根据业务需求调整 s.settimeout(10)
- 确认你要连接的Socket服务端IP、端口配置正确,且服务端已正常启动、没有被防火墙拦截连接请求。
本地环境排查
- 临时关闭本机代理、VPN软件后重试,检查本机防火墙、安全软件是否拦截了当前程序的网络访问权限,可临时关闭防火墙测试连通性。
- 执行
ping 目标服务IP命令测试本机到目标服务的网络链路是否正常,排查网络本身故障。
注:你当前提供的代码仅包含依赖导入和GUI启动逻辑,未涉及数据库连接、Socket通信的核心业务代码,若以上排查后仍未解决问题,可补充对应核心业务代码进一步定位。
内容的提问来源于stack exchange,提问作者Funmise
相关产品推荐
相关产品推荐

