Rock笔记
~/rocknotes/articles/234.md article
// article · mysql

Windows 服务器 MySQL 无法连接解决方案

10055错误

windows服务器下,mysql运行一段时间之后忽然无法连接,但是mysql服务启动正常,连接时报错:

can't connect to mysql server on 'localhost' (10055)

网上搜索了很久,最终确定原因为:

Win32 error code 10055: 由于系统缓冲区空间不足或列队已满,不能执行套接字上的操作


出现这种情况我认为重启服务器可以解决,但是治标不治本,一段时间之后仍然会出现此问题。


此问题不是mysql应用程序的问题而是windows server system 的配置问题。因此需要修改windows server system的配置。

具体办法为修改windows 注册表:

有两个相关值,一是修改MaxUserPort(最大连接数);另一个是修改TcpTimedWaitDelay(TCP/IP 可释放已关闭连接并重用其资源前,必须经过的时间)

据我的经验推断修改MaxUserPort为最佳。

注册表位置如下,如果没有此项,需要手动添加

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Value Name: MaxUserPort
Value Type: DWORD
Value data: 65534(十进制)


参考并感谢以下博主:

http://www.myexception.cn/mysql/288628.html

http://www.cnblogs.com/tianzhiliang/articles/2400176.html

http://www.111cn.net/database/mysql/37700.htm

https://talk.plesk.com/threads/cant-connect-to-mysql-server-on-localhost-10055.263061/


摘自:http://blog.sina.com.cn/s/blog_468530a60102wmj2.html

回复// 0 replies

最新回复 ↓
// 暂无回复

回复功能沿用原详情页:前往原页面参与讨论 →