最近一段时间,发现连接mysql时经常提示Too many connection,导致无法连接数据库的情况。
经不断的研究,产生问题的原因是MySQL的Sleep进程占用了大量的连接。
我的解决思路如下:
1、查看数据库最大连接数和当前连接数,发现很多sleep进程
最大连接数:show variables like '%max_connections%';
当前连接数:show full processlist;
2、经排查,产生这么多sleep进程的原因是数据库连接没有自动回收
需要在数据库连接池中添加
removeAbandoned="true"
removeAbandonedTimeout="60"
logAbandoned="true"
问题成功解决~~~