Mysql 10048,10055 错误详细解决方法汇总

来源:互联网 发布:em算法实例 编辑:程序博客网 时间:2024/04/30 12:52

解决办法参考(网上)
一:
我觉得可能是楼主的某些程序写的有问题,可能占用了连接而没有断开。另外,楼主的MYSQL服务器是不是安装有防火墙?特别是诺顿防火墙,我遇到过,明明是允许我的IP访问被保护的服务器,可是一段时间后,挪顿就认为我的IP是非法攻击,自动就给我IP封了,要么等20分钟(默认的规则),要么从新启动服务器就好了。。。。。。。

二:[color=Magenta]此条慎用,我更改后,威视总是出现服务器内部错误[/color]
您使用的是Windows操作系统,此错误与一个注册表键值TcpTimedWaitDelay有关。减小Windows中TcpTimedWaitDelay时间可解决此类问题,默认情况下为240(未设置的情况下也是这个数值)。 此项设置需要到注册表如下位置进行设置:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersTcpTimedWaitDelay
如果注册表中没有TcpTimedWaitDelay这个项目,请增加这个项目,并设置为双字节(DWORD)类型。数值设置为30 ~ 60 之间即可。

三:
服务器ftp测试完毕,重新启动了一下。就一切稳定了。 不过仍然有几个问题没有搞清楚。心里不放心。

1。上周五的时候,ftp压力并不大的时候,30分钟在线统计900多人的时候,10%的比率出现mysql连接失败的10048错误。
2。我当时使用的连接方法是 mysql_connect()。服务器iis+php+isapi的方式。参考了一些资料以后,我当时马上把 mysql_connect() 方法都改成了 mysql_pconnect() 方法,当时,问题看上去是解决了。
3。周六,服务器开始ftp压力测试。15%的比率出现 mysql连接失败的 10048 10055 错误。比上次多了个10055错误。

关键不知道10048 10055错误代码具体代表的错误信息。应该说,问题仍然没有找到确切的答案。

我开了serv-u,有4个socket连接,mysql马上挂了 数据挖掘研究院

四:
Can't connect to MySQL server on 'localhost' (10048)
Can't connect to MySQL server on 'localhost' (10055)
MySQL版本 4.0.13-nt

服务器: windows2000 server + iis5.0 + php isapi + mysql

我用php+mysql开发了一个web站,该站访问量很高。
但是正常运行了一个多星期以后,开始频繁出现Can't connect to MySQL server on 'localhost' (10048) 错误。

统计数据如下:
尝试失败连结数 10,594
每小时总连结数 885.37
% 15.91 %

可以看出,连接失败的比率非常高了。需要强调的是,一周之前,同样的连结数,并没有出现如此高的错误率。

原因分析:利用fport工具查看,你会发现有人在耗尽你的数据库连接。而很明显他们的特征是:有数十个连接来自同一IP,而且都是time-waitk

解决方案:1。建议修改最大连接数,或者把 mysql_connect() 方法都改成了 mysql_pconnect() 方法,
                     2。治标,封锁这些IP,一个IP连接大于3的就有点不正常,封

                     3。治本,修改站点程序,严禁刷新太快!
补充说明:可以直接在防火墙封锁外部连接本地的3306端口!