Mysql Too many connections解决方案

Too many connections
从字面理解,mysql连接数过多。当连接数量过多,且来不及释放时便会出现此错误。

查看mysql当前连接信息,特别要注意sleep休眠状态的连接。

show full processlist;

查看mysql设置的最大连接数

show global variables like 'max_connections';

如果最大连接数量没问题,而sleep休眠状态的连接过多,则应该从两方面注意:

  • 1。 wait_timeout 空闲等待超时时间
  • 2。 interactive_timeout 交互超时时间(通过mysql客户端连接数据库是交互式连接)

要想从根本上解决sleep过多的问题,需从以下面三点排查:

* 1。程序连接mysql,不使用持久链接。即使用mysqli_connect而不是pconnect。
* 2。程序执行结束,主动显式调用mysqli_close来释放连接资源。
* 3。解决程序中的SQL慢查询语句。

最后快速解决过程

set GLOBAL max_connections = 500;
set GLOBAL wait_timeout = 300;
set GLOBAL interactive_timeout = 600;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章