MySQL “too many connections“
心诚则灵' 人气:0发现问题
最近使用mysql5.7的时候连接公司系统数据库时发现提示报错,出现mysql too many connection 的异常。经过查询发现是mysql的系统自带的连接数太小,连接的线程超过系统配置导致出现错误。
解决过程
1. 首先登录mysql终端,输入show variables like max_connections,查看最大连接数。
修改最大连接数:set GLOBAL max_connections=1000,配置好之后再次查看最大连接数的量。
2. 超过连接数的原因,是mysql的连接数保持时间太长。可以修改一下保活机制show global variables like 'wait_timeout' ,就是最大睡眠时间。
修改一下 set global wait_timeout=300; 自动杀死线程。
3. 刚刚的配置是临时修改,重启mysql会失效。可以通过修改mysql的配置/etc/my.cnf。
group_concat_max_len = 10240 # 最大睡眠时间 wait_timeout=300 # 超时时间设置 interactive_timeout = 500
修改完毕后,重启mysql5.7即可。
在任务管理器找到MySQL,右键重新启动。
mysql限制最大连接数的原因
原因时因为底层的linux操作系统把进程可以打开的文件句柄数限制为1024了,导致mysql最大连接数时214
总结
加载全部内容