解决Can't connect to MySQL server on 'localhost' (10048)

您使用的是Windows操作系统,此错误与一个注册表键值TcpTimedWaitDelay有关。
减小Windows中TcpTimedWaitDelay时间可解决此类问题,默认情况下为240(未设置的情况下也是这个数值) 
此项设置需要到注册表如下位置进行设置
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters/TcpTimedWaitDelay  
如果注册表中没有TcpTimedWaitDelay这个项目,请增加这个项目,并设置为双字节(DWORD)类型 
数值设置为30 ~ 60 之间即可

转载声明:本文转自http://www.devdao.com/Article/384352.htm

====================================================================

解决Can't connect to MySQL server on 'localhost' (10048)

原出处:http://www.hao32.com/webserver/55.html
解决Can't connect to MySQL server on 'localhost' (10048), 一般见于使用mysql的windows 2003服务器.

错误的出现的原因:

应用程序需要快速释放和创建新连接, 但是由于 TIME_WAIT 中存在的连接超过默认值,导致较低吞吐量.

解决方案:
和本错误密切相关的两个windows的注册表项:TcpTimedWaitDelay和MaxUserPort的值.

TcpTimedWaitDelay 确定 TCP/IP 可释放已关闭连接并重用其资源前, 必须经过的时间. 关闭和释放之间的此时间间隔通称 TIME_WAIT 状态或两倍最大段生命周期(2MSL)状态. 此时间期间, 重新打开到客户机和服务器的连接的成本少于建立新连接. 减少此条目的值允许 TCP/IP 更快地释放已关闭的连接, 为新连接提供更多资源.

MaxUserPort 确定从系统请求任何可用用户端口时所用最大端口数,TCP/IP 可指定的最高端口号. 如果建立 TCP 连接最大端口连接大于 5000, 本地计算机响应以下错误信息WSAENOBUFS (10055): 因为系统缺乏足够缓冲区或者因为队列已满而无法执行套接字上操作, 从而导致应用程序的10048错误.

打开注册表编辑器regedit

TcpTimedWaitDelay 设置:
找到 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/ Services/TCPIP/Parameters 注册表子键
并创建名为 TcpTimedWaitDelay 的新 REG_DWORD 值
设置此值为十进制 30, 十六进制为 0×0000001e
该值等待时间将是 30 秒。
本项的默认值:0xF0(16进制), 等待时间设置为 240 秒

MaxUserPort 设置(增加最大值端口连接):
找到 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/ Services/TCPIP/Parameters 注册表子键
并创建名为 MaxUserPort 的新 REG_DWORD 值
设置此值为十进制最低 32768
该值等待时间将是 30 秒。
重启windows系统。
本项的默认值:5000(十进制)

关闭注册表编辑器, 重启windows系统。

转载声明:本文转自http://www.ismole.net/thread-997-1-1.html

====================================================================

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

  最近服务器数据库时不时的崩掉,郁闷,找了很多方法,也没解决。把这些方法汇总转过来。
  服务器开一段时间后,Mysql就自动挂掉~非要重启才能解决问题,建议新手还是用mysql4.X版本,5的确很不完善。另外出现此种问题,可不是简简单单一种方法就能解决的。希望其他出现此问题的朋友,能得到启发~~~
描述1:
服务器配置:win2003、serv-u6.0、mysql-4.0.24、php-4.3.11、sql2000
服务器运行一段时间后,php的网站打不开,提示Can't connect to MySQL server on 'localhost'(10055)错误。重起mysql服务没有作用,只有重起服务器。但过几天以后,又出现此错误。

我的my.ini配置内容:
#This File was made using the WinMySQLAdmin 1.4 Tool 
#2005-6-26 16:53:57

#Uncomment or Add only the keys that you know how works. 
#Read the MySQL Manual for instructions

[mysqld] 
basedir=C:/mysql 
#bind-address=192.168.13.81 
datadir=C:/mysql/data 
#language=C:/mysql/share/your language directory 
#slow query log#= 
#tmpdir#= 
#port=3306 
#set-variable=key_buffer=16M 
[WinMySQLadmin] 
Server=C:/mysql/bin/mysqld-nt.exe 
user=root 
password=%%%
--------------------------------------------------------------------------------

描述二:
Can't connect to MySQL server on 'localhost' (10055) ( 2003 ) 
Can't connect to MySQL server on 'localhost' (10048) ( 2003 )

我的系统是2003,我的MYSQL 一段时间就就会反复出现上面的错误.... 重启就好了,但过段时间问题又来了... 相关研究方向

描述三:
我的MYSQL最近老是出错,提示'localhost' (10055) 错误!察看日志,是这样提示的: 
-------------------------------------------------------------------------------- 
MySql: ready for connections 
MySql: ready for connections 
Cannot initialize InnoDB as 'innodb_data_file_path' is not set. 
If you do not want to use transactional InnoDB tables, add a line 
skip-innodb 
to the [mysqld] section of init parameters in your my.cnf 
or my.ini. If you want to use InnoDB tables, add to the [mysqld] 
section, for example, 
innodb_data_file_path = ibdata1:10M:autoextend 
But to get good performance you should adjust for your hardware 
the InnoDB startup options listed in section 2 at 
http://www.innodb.com/ibman.html 
050621 13:25:20 MySql: Normal shutdown 
050621 13:25:20 MySql: Shutdown Complete 
MySql: ready for connections 
--------------------------------------------------------------------------------
请问是什么意思啊?而且每次出错后,必须重启动机器才可以好。如果只是重启mysql服务,没有用。

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

二:此条慎用,我更改后,威视总是出现服务器内部错误
您使用的是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端口!

转载声明:本文转自http://bbs.bokecc.com/viewthread.php?tid=76307

====================================================================

解决Can't connect to MySQL server on 'localhost' (10048)的更多相关文章

  1. 解决 2003 Can’t connect to MySQL server on ‘localhost’ (10048)

    2003 Can’t connect to MySQL server on ‘localhost’ (10048)一般见于使用mysql的windows 2003服务器.错误的出现的原因: 第一种原因 ...

  2. ERROR 2003: Can't connect to MySQL server on 'localhost' (10061)

    解决Can't connect to MySQL server on 'localhost'  tomcat连接mysql,大概是c3p0配置和mysql配置都有问题,导致了内存溢出,几天后,mysq ...

  3. MySQL问题记录--Can't connect to MySQL server on localhost (10061)解决方法

    本文mysql的安装环境为win7 64位,mysql版本为MySQL5.7 问题描述:在命令行输入 mysql -u root -p 登录mysql,返回"Can't connect to ...

  4. 快速解决mysql Lost connection to MySQL server at 'reading initial communication packet及can't connect to mysql server on 'localhost'

    今天在使用Navicat连一个远程mysql时,总是提示连接不成功,提示Lost connection to MySQL server at 'reading initial communicatio ...

  5. mysql出现Can't connect to MySQL server on 'localhost' (10061)的解决方法

    网上搜索的一: 今天把mysql数据库拷贝到另外一台机上,结果连不上,报“Can't connect to MySQL server on 'localhost' (10061)“错误 到网上sear ...

  6. 关于mysql连接时候出现"error 2003: can't connect to mysql server on 'localhost'(10061)问题的解决

    天,在使用navicat Premium 连接数据库时,出现了一个弹出窗口显示: "error 2003: can't connect to mysql server on 'localho ...

  7. 关于MySQL的异常处理 Can't connect to MySQL server on localhost (10061)解决方法

    首先检查MySQL 服务没有启动>如果没有启动,则要启动这个服务. 昨天,重起服务器后出现MySQL 'localhost' (10061)错误,开始以为是因为数据库链接打开过多,数据库资源耗尽 ...

  8. Can't connect to MySQL server on 'localhost' (10061)的解决办法!

    Can't connect to MySQL server on 'localhost' (10061)的解决办法! http://blog.sina.com.cn/s/blog_52ebca1f01 ...

  9. can t connect to mysql server on 'localhost'解决方法

    源:http://www.111cn.net/database/mysql/37700.htm 先重启服务器可解决大部分问题 错误编号:2003 问题分析: 无法连接到 mysql 服务器,可能的情况 ...

随机推荐

  1. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 所有的基础数据都可以恢复删除

    客户的需求如下: 所有基礎信息需要記錄創建人,創建時間,更改人,更改時間,刪除人,刪除時間.有停用基礎信息功能(停用不是刪除,只是暫時停用).基礎信息可以查出已經刪除的信息(有選項可以選擇),有方法把 ...

  2. 利用缓存实现APP端与服务器接口交互的Session控制

    与传统B/S模式的Web系统不同,移动端APP与服务器之间的接口交互一般是C/S模式,这种情况下如果涉及到用户登录的话,就不能像Web系统那样依赖于Web容器来管理Session了,因为APP每发一次 ...

  3. 服务器一般达到多少qps比较好[转]

    你好,每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量. 原理:每天80%的访问集中在20%的时间里,这2 ...

  4. Elasticssearch学习教程

    http://www.cnblogs.com/eggTwo/p/4425269.html

  5. 84 tune2fs-调整系统参数

    tune2fs命令允许系统管理员调整"ext2/ext3"文件系统中的可该参数.Windows下面如果出现意外断电死机情况,下次开机一般都会出现系统自检.Linux系统下面也有文件 ...

  6. Python基础-三次用户验证登录购买商品程序

    需求: 一:三次登录锁定 1.用户信息存放于文件中 2.尝试三次都失败,锁定用户 二.购物车功能要求: 要求用户输入总资产,例如:2000显示商品列表,让用户根据序号选择商品,加入购物车购买,如果商品 ...

  7. 动态获取div的高度 随着窗口变化而变化

    // 1.jq法 <script> var winHeight = $(window).height(); $("#show").css("height&qu ...

  8. 未封装的js放大镜特效

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>j ...

  9. UIDynamic-附着行为:UIAttachmentBehavior

    直接上代码: // // YFAttachmentBehaviorViewController.m // BigShow1949 // // Created by apple on 16/8/25. ...

  10. 教你一招:Excel中使用MID函数获取身份证中的出生年月日

    MID字符串函数,作用是从一个字符串中截取出指定数量的字符 MID(text, start_num, num_chars)   text被截取的字符 start_num从左起第几位开始截取(用数字表达 ...