CMSV6帮助文档
/
901 DOCS · 226 VIDEOSEN

无法连接数据库,报错10055

作者 daiweiqiang更新 2026-08-12 14:10:04文档 ID 2715约 1,795 字 · 阅读 4 分钟查看原文 ↗

1、功能说明

1.1 MySQL服务器正常启动,其它服务器连接数据库失败
1.2 使用Navicat for MySQL工具连接数据库报错Can't connect to MySQL server on'localhost' (10055) 
1.3 应用程序频繁的连接访问数据库,而系统会为每个连接动态分配一个端口,大并发的情况下就会导致动态端口占用完的情况
1.4 端口重用问题,每个动态分配的端口号在连接关闭后,需要等待一段时间才能重新使用。
1.5 netstat -ano > c:1.txt在cmd中运行这个指令,查看当前共多少端口被占用,一般超过5W时容易出问题

2、操作说明

2.1 方法一

2.1.1 改变可用动态端口范围

在修改之前我们可以CMD命令
netstat -n | find /C /I "established"
查看当前占用多少连接数
https://www.cnblogs.com/Alex80/p/15723903.html

2.1.2 显示默认到底是多少:

netsh int ipv4 show dynamicport tcp
netsh int ipv4 show dynamicport udp
netsh int ipv6 show dynamicport tcp
netsh int ipv6 show dynamicport udp

2.1.3 可以通过以下命令来配置:

netsh int set dynamic start=number num=range
例如:
netsh int ipv4 set dynamicport tcp start=9000 num=56000
netsh int ipv4 set dynamicport udp start=9000 num=56000
netsh int ipv6 set dynamicport tcp start=9000 num=56000
netsh int ipv6 set dynamicport udp start=9000 num=56000
备注:start指起始端口,最小值是1025,num指的是范围,最小值是255,最大值即start + num < 65535

2.2 方法二

2.2.1 设置连接数,端口,复用时间

可以通过修改或添加如下注册表字段来配置:
有时候可能需要通过注册表配置动态分配端口的最大值:
在HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters里加上如下的键值:
ValueName: MaxUserPort
ValueType: DWORD
Valuedata: 65534
ValidRange: 9000-65534 (decimal)
Default:0x2328 (9000 decimal)

最大TCP连接数 TcpNumConnections
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Tcpip/Parameters]
TcpNumConnections = 0x00fffffe (十进制 16777214)

在HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters加上
键值:TcpTimedWaitDelay
数值类型:REG_DWORD - 时间(以秒为单位)
有效范围:30-300(十进制)
默认值:0x78(十进制 120)
描述:此参数确定连接在关闭时保持 TIME_WAIT 状态的时长。只要连接处于 TIME_WAIT 状态,便不能重新使用套接字对。
为了复用的快一些:可以设置为最小值:30

原文链接:https://blog.csdn.net/langren697/article/details/38422055
https://blog.csdn.net/weixin_30853329/article/details/98007292
https://blog.csdn.net/zhangjunli/article/details/87914000

数据来源 help.cmsv8.com
901 篇文档 · 226 个视频 · docs.alwaycare.com