问题:MySQL连接数过多 现象:提示“ERROR 1040: Too many connections”的错误 分析:出现此错误的原因,一种是访问量确实很高,MySQL服务器顶不住,这个时候就要考虑增加从服务器分散读压力,另外一种情况是MySQL配置文件中max_connections值过小。 解决方案:调整max_connections参数的值
调整此参数的方法有几种,既可以在编译的时候设置,也可以在MySQL配置文件 my.cnf 中设置,也可以直接使用命令调整并立即生效。
1、在配置文件my.cnf中设置max_connections的值
打开MySQL配置文件my.cnf [root@www ~]# vi /etc/my.cnf
找到max_connections一行,修改为(如果没有,则自己在[mysqld]配置项中添加), max_connections = 1000
上面的1000即该参数的值。
重启MySQL使修改生效2、实时(临时)修改此参数的值
首先登陆mysql,执行如下命令: [root@www ~]# mysql -uroot -p
然后输入MySQL Root的密码。
查看当前的Max_connections参数值: mysql> SELECT @@MAX_CONNECTIONS AS 'Max Connections';
或 mysql> show variables like 'max_connections';
设置该参数的值:
mysql> set GLOBAL max_connections=1000;
(注意上面命令的大小写)修改完成后实时生效,无需重启MySQL。MySQL比较理想的最大连接数计算方式为: max_used_connections / max_connections * 100% ≈ 85%
即最大连接数占上限连接数的85%左右,如果发现比例在10%以下,MySQL服务器连接数上限设置的过高了。参考资料:
关于MySQL的 too many connections:http://www.phpv5.com/blog/tag/show-processlist/
ERROR 1040: Too many connections:http://blog.phpha.com/archives/1330.html
max_connections – MySQL性能调优:http://www.bootf.com/472.html
Server System Variables:https://mariadb.com/kb/en/server-system-variables/#max_connections
0 条评论。