[数据库] windows server 2003下mysql出现10048错误的解决办法 Can't connect to MySQL server on '127.0.0.1' (10048)
2023-02-18 16:29:13 时间
网站访问量大了的时候mysql连接数自然就多了,当超出mysql最大连接数的时候就会出现错误,当出现too many字样的错误的时候一般是因为连接数的问题,只需要修改最大连接数max_conection就行了, 但在windows server 2003上还有一种常见错误, "Error: Can't connect to MySQL server on 'localhost' (10048)" 这就不是最大连接数的问题了. 具体原因大概为:
1. mysql短时间内瞬间增加太多连接数,而tcp连接在短时间内又不释放, 这样就导致不能有新的连接产生,所以提示连接不到mysql数据库.
2. 5000以下端口用完了,而5000以上端口禁止连接.
既然知道问题大概原因我们就从这两个方面入手.
第一、
修改tcp连接释放时间,在注册表里修改:
tcp连接释放时间默认240,我们可以修改的小一些,一般在30-60之间就可以了.
找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters 注册表子键
并创建名为 TcpTimedWaitDelay 的新 REG_DWORD 值
设置此值为十进制 30, 十六进制为 0×0000001e
第二、
修改允许连接最大端口号
MaxUserPort 设置(增加最大值端口连接):
找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters 注册表子键
并创建名为 MaxUserPort 的新 REG_DWORD 值
设置此值为十进制最低 32768
第一、第二、执行完毕后重新启动服务器。
至此问题解决。
相关文章
- Kubernetes微服务常见概念及应用
- REDIS 一个全栈DBA 不可缺的闭环, why not chose redis as primary database
- Redis高可用全景一览
- netty在真实项目里的应用
- Nginx系列(11)- web服务、代理,应用层负载均衡、应用层安全防护、 Nginx+Lua、动静分离
- Nginx系列(10)- Nginx配置文件详解
- Nginx系列(9)- Nginx常用命令
- Nginx系列(8)- Nginx安装 | Docker环境下部署
- Nginx系列(6)- nginx: [error] CreateFile() "D:\nginx-1.20.1/logs/nginx.pid" failed (2: The system cannot find the file specified)
- Nginx系列(5)- nginx: [emerg] bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)
- Nginx系列(4)- Nginx安装 | Windows
- Nginx系列(3)- 负载均衡
- Nginx系列(2)- 正向代理和反向代理
- Nginx系列(1)- Nginx简介
- Dockers(29)- 网络连通
- Docker系列(28)- 自定义网络
- Docker系列(27)- 容器互联--link
- Docker系列(26)- 发布镜像到阿里云容器服务
- Docker系类(25)- 发布镜像到DockerHub
- Docker系列(24)- 实战:DockerFile制作tomcat镜像