首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法连接到“localhost”上的MySQL服务器(10048)

问无法连接到“localhost”上的MySQL服务器(10048)
EN

Server Fault用户
提问于 2009-12-31 14:52:12
回答 6查看 13.9K关注 0票数 3

据我所知,这是最近在本地服务器上开始发生的错误:

代码语言:javascript
复制
 Can't connect to MySQL server on 'localhost' (10048).

我的网站将工作一段时间,然后它会随机抛出这个错误,然后重新开始工作。关于如何解决这个问题有什么建议吗?我在网上搜索过,大多数人声称这是一个基于窗口的错误,需要一个注册表修复,但我想看看是否有其他人遇到过这个问题,并有更好的建议?谢谢!

EN

回答 6

Server Fault用户

发布于 2010-01-01 19:31:47

当发生此错误时,我建议查看"netstat -ano“的输出。如果这是Windows 2003,则默认的临时端口范围仅为1024-5000。如果此端口范围已满,您将无法建立新的出站连接,包括“出站”到本地主机。您可以通过更改注册表中的MaxUserPort设置来解决这一问题,如果netstat显示存在大量处于TIME_WAIT状态的连接,则可能与TCPTimedWaitDelay设置一起进行更改。“'netstat -ano发现/C”:“”会给出一个(有点误导)的数字,说明有多少套接字是活动的。

但是,如果您发现这个端口范围都在使用中,正如其他人提到的那样,您可能会遇到连接未关闭的潜在问题。这可能是个代码问题。

此外,如果您的web服务器和数据库服务器运行在同一台计算机上,则可能需要考虑TCP/IP以外的连接协议,例如内存或命名管道。

票数 2
EN

Server Fault用户

发布于 2015-10-23 13:15:35

解决方案:

打开注册表编辑器regedit

TcpTimedWaitDelay集:

找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters注册表子项并创建一个名为TcpTimedWaitDelay的新REG_DWORD值。

将此值设置为十进制30,十六进制0×0000001e。此值将等待时间为30秒。

默认值:0xF0 (16229),等待时间设置为240秒。

MaxUserPort集(以增加最大端口连接):

查找HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters注册表子项,并创建一个名为MaxUserPort的新REG_DWORD值。

设置为小数点32768的最低值。

默认值: 5000 (小数)。

关闭注册表编辑器,然后重新启动windows系统。

票数 1
EN

Server Fault用户

发布于 2009-12-31 15:15:48

您可能需要确保关闭到数据库的所有连接。当您调用查询时,可能会意外地打开它们,随着时间的推移,Windows将达到它的最大连接数,并抛出无法连接的错误。稍后再试一次,windows可能已经释放了几个连接,并且再次能够访问数据库。

祝你好运,希望这对一些人有帮助。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/98505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档