最近部分客户反映系统使用过程中,服务器出现MYSQL频繁掉线,提示连接失败,刷新后又正常的问题。刚开始还以为是mysql连接数的问题,改了无数次,还是一样没解决问题。后来终于找到什么原因了!微软9月9日发布了TCP/IP更新补丁(KB967723),如果服务器开启自动更新或者有自动更新软件下载更新了这个补丁,那么就会出现这个问题。
有人可能会问,为什么9号出现的补丁,到现在才发现问题?
大家都知道,服务器不是每天都重启的,有的服务器可能一个月或者一年半载重启一次,有的可能在9月9日以后重启过服务器,所以补丁生效了(我个人这么认为)。
第一种方法:
补丁卸载方法:登录服务器,进入控制面板 — 添加和删除程序 — (勾选上方的“显示更新”)
在里面可以看到更新的KB967723这个补丁,然后就想卸载普通软件一样卸载,卸载中会提示你,如果卸载可能导致程序运行出错,没关系,选择“是”,继续卸载。
卸载完成后程序服务器,一切正常!
第二种方法:
既然是升级包KB967723的问题。那么我们就要最终找出病因,最后了解到打完升级包KB967723后,端口默认是 0~5000.打开5000以上端口就会出错。微软官方网也有说明。所以就按微软官方解决方案更改注册表参数。修改端口默认最大值为65534。
微软官方网原文地址:http://support.microsoft.com/kb/q196271
在的注册表中找到以下子项,然后单击 参数 : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
在 编辑 菜单上单击 新建 ,然后添加下面的注册表项: 数值名称: MaxUserPort
值类型: DWORD
值数据: 65534
有效范围: 5000-65534 (十进制)
默认值: 0x1388 (5000 十进制)
说明: 此参数将控制程序从系统请求任何可用的用户端口时使用的最大端口数。 通常,1024 的值和包含的 5000 之间分配临时的 (短) 端口。本文来源于深圳第一眼便民中心www.szdyy.com,原文地址:http://www.szdyy.com/it/showcontent/?type_id=1&base_id=21&article.html
----------------------------------------------------------------------------------------------------------------------
注册表子键并创建名为 MaxUserPort 的新 REG_DWORD 值。缺省值:无建议值:至少十进制 32768,最大值十进制 65535。重新启动系统后生效。
在的注册表中找到以下子项,然后然后看以下注册表内容修改 :
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"MaxUserPort"=dword:00065534
----------------------------------------------------------------------------------------------------------------------