连接数比较多的程序常常会出现too many connections的错误,通过修改数据库配置参数或程序代码减少连接数可解决。
影响的配置主要有下面三个:
1.配置参数
1.max_connections(最大连接数)
默认为100。
2.wait_timeout(等待时间)
默认为28800秒(8小时),表示关闭非交互连接前等待活动的时间。
3.interactive_timeout(交互时间)
默认为28800秒(8小时),表示关闭交互连接前等待活动的时间。
2.查询
show variables like "xxx"; 例如可以填max_connections
查看连接数:show processlist; 对于设置合理的最大连接数具有参考价值
3.修改
可以修改mysql的配置,根据需要设置合理的数值。设置的方法有两种:
修改最大连接数:set global max_connections=1000;
修改等待时间:set global wait_timeout=500;
修改交互时间:set global interactive_timeout=500;
附录
一般在出现too many connections的情况下重启数据库服务会得到暂时的缓解:service mysqld stop/service mysqld start