最近使用mysql的时候发现提示报错,出现mysql too many connection 的异常。经过查询发现是mysql的系统自带的连接数太小,连接的线程超过系统配置导致出现错误。本经验就给你演示一下如何修改解决出现mysql too many connection 的异常的问题。
show full processlist;
show variables like 'max_connections';
set GLOBAL max_connections=1000
set global wait_timeout=300;
mysql终端,查看一下mysql的日志文件存放位置。
1show global variables like log。
2 找到/var/下的mysql日志看看有没有什么其他错误。
3 show variables like max_connections,查看最大连接数。如图151
4 修改最大连接数:set GLOBAL max_connections=1000,配置好之后再次查看最大连接数的量。
5 超过连接数的原因,是mysql的连接数保持时间太长。可以修改一下保活机制show global variables like ‘wait_timeout’ ,就是最大睡眠时间。
6 修改一下 set global wait_timeout=300; 自动杀死线程。
7 还有超时时间设置,wait_timeout = 300 和interactive_timeout = 500,然后重启mysql服务。
8 刚刚的配置是临时修改,重启mysql会失效。可以通过修改mysql的配置/etc/my.cnf