MYSQL经常出现连接失败,刷新后正常的解决办法

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

发表评论