项目中使用MySQL的时候会遇到这样的情况“MySQL: ERROR 1040: Too many connections”,出现这种问题的原因大致有两种:
1、访问量确实很高,MySQL服务器抗不住,这时候就要考虑从服务器端进行优化,提升性能或者分担压力
2、MySQL配置文件中max_connections值太小了
这里介绍第2种情况的解决方法:
通过执行
SHOW VARIABLES LIKE 'max_connections';
查询当前MySQL设置的最大连接数,
通过
SET GLOBAL max_connections=1000;
修改最大连接数,但是这种方式只能临时修改,一旦重启服务器或者重启MySQL,则恢复至原设置的最大连接数。
可以通过修改配置文件,Windows下的my.in和Linux下的my.conf中max_connections的值,保存后重启MySQL生效,如下:
# 允许最大连接数 max_connections=200
但是不是说一味的加大最大连接数的数量就是最好的,
最大连接数占上限连接数的85%左右,如果发现比例在10%以下,MySQL服务器连接上线就设置得过高了。
通过执行
show global status like 'Max_used_connections';
查询历史最大连接数,根据这个数量去配置项目中所使用的MySQL的最大连接数即可。