问题原因:MySQL设定的并发连接数太少或者系统繁忙导致连接数被占满
解决方案:
Windows: 找到my.ini(一般在:.\MySQL\MySQL Server 5.7目录下)
Linux: 找到my.cnf(一般在:/etc/my.cnf)
修改/新增参数:
max_connections=1000修改后,重启mysql服务
其他:
使用查询语句查询连接: show processlist;如果发现存在大量的Sleep线程,需要考虑修改wait-timeout时间。譬如:设置wait-timeout=10,mysql中的所有Sleep线程最多能睡10秒钟,之后就被强行关闭.
修改方法:
[mysqld]
wait_timeout=20
interactive_timeout=20
注意:需要同时设置
wait_timeout和
interactive_timeout两个参数才可生效
校验: show variables like "%timeout%";
参考文章:
在mysql中connection设置和wait-timeout的设置: http://blog.csdn.net/cenfei78325747/article/details/7854611
MYSQL Too many connections错误的解决办法: http://seara520.blog.163.com/blog/static/16812769820107793713703/