在系统运行过程中,经常会出现连接数过多而造成mysql卡死的情况,通过以下语句查询,发现sleep链接过多,没有及时关闭,造成了资源浪费。
查询当前数据库连接数:
show processlist;
查询等待时间:
SHOW GLOBAL VARIABLES LIKE 'wait_timeout';
SHOW GLOBAL VARIABLES LIKE 'interactive_timeout';
Mysql可以通过设置等待时间来自动关闭sleep链接,可以有效节省资源,减少连接数。
在windows服务器中,mysql的配置文件为my.ini,在Linux服务器中,配置文件一般在/etc/my.cnf
这里以linux下为例:
vi /etc/my.cnf
在[mysqld]下添加:
wait_timeout=30
interactive_timeout=30
重启mysql即可:
service mysqld restart