欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mysql 提示too many connections的解决方法

程序员文章站 2022-07-09 14:35:27
最近一段时间发现mysql耗费cpu资源比较多,今天上午登录系统平台发现了这个错误,输入密码后,提示:too many connections,仅仅从字面上理解,太多连接,想了下应该是连接的数量太多,mysql服务处理不过来,但是网站的访问量不大,内存够,带宽也够,就cpu有点高。...

最近一段时间发现mysql耗费cpu资源比较多,今天上午登录系统平台发现了这个错误,输入密码后,提示:too many connections,仅仅从字面上理解,太多连接,想了下应该是连接的数量太多,mysql服务处理不过来,但是网站的访问量不大,内存够,带宽也够,就cpu有点高。

百度一下这个错误,发现是和 MYSQL 的max_connections 这的个参数的设置大小有关系。可以查看该参数的配置情况,在mysql命令行或者mysql客户端工具中查询到。

注意此时你的网页也不能打开,链接mysql服务也提示too many connections,在服务器上进入mysql的命令行登录也是这个提示,这时候怎么处理呢,第一可以等待多试几次登录mysql,等链接不那么多的时候就会链接上,这个是比较慢的办法;第二是重启mysql服务,这样链接会释放此时就可以登录进去mysql服务。


1、在Navicat的客户端语句执行查询:show PROCESSLIST;

此时会显示所有进程,会发现很多进程处于“Sleep”状态,表示处于闲置状态。

2、执行语句查询: show variables like '%max_connections%';

会显示系统设置的最大链接数,一般默认的是151,显然不太够。

3、从以上两点可以知道,mysql的链接数需要扩大,处于闲置的链接需要自动关闭掉。

在mysql的配置文件中设置两个参数就行,放在mysqld节点下:

max_connections=1000  #最大连接数,不要太大一口气吃撑了
wait_timeout=300      #关闭连接前等待秒数
interactive_timeout=500   #关闭连接前等待秒数

4、修改配置后,重启mysql服务,观察资源指标恢复正常,问题也就到此解决。

以上就是问题的解决方案,小技能,希望你能get到哦。

相关标签: mysql connections