windows 2003+mysql 5.x

近段,网站经常提示数据库连接出错,刷新一下,又可以正常访问了。比较奇怪的现象,但可以肯定不是程序的问题。应该是数据库自身或系统的问题。

对数据进行了一系列的优化,调试,问题依然存在。最后在网友的帮助下,找到了原因和解决办法。

这一切都是微软的一个补丁引起的,即:KB967723

解决办法:

打开注册表:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
在里面添加两项:

数值名称: MaxUserPort
值类型: DWORD
值数据: 65534
有效范围: 5000-65534 (十进制)
默认值: 0x1388 (5000 十进制)
说明: 此参数将控制程序从系统请求任何可用的用户端口时使用的最大端口数。 通常,1024 的值和包含的 5000 之间分配临时的 (短) 端口。
 

数值名称: TcpTimedWaitDelay
值类型: DWORD
值数据: 30  (十进制)
默认值:  240 ( 十进制)

修改完成后,重启计算机,即可解决问题。

另,网上有一个方法是卸载这个补丁或关闭自动更新,此方法不可取也不安全