MySQL服务器最大连接数的合理设置
MySQL服务器的连接数并不是要达到最大的100%为好,还是要具体问题具体分析,下面就对MySQL服务器最大连接数的合理设置进行了详尽的分析,供您参考。
我们经常会遇见“MySQL: ERROR 1040: Too many connections”的情况,一种是访问量确实很高,MySQL服务器抗不住,这个时候就要考虑增加从服务器分散读压力,另外一种情况是MySQL配置文件中max_connections值过小:
MySQL5.5.X之前版本服务器最大连接数默认是100,而MySQL5.6.10服务器最大连接数默认是151.
mysql> show variables like 'max_connections';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 151 |
+-----------------+-------+
这台MySQL服务器最大连接数是151。
然后查询一下服务器响应的最大连接数:
mysql> show global status like 'Max_used_connections';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| Max_used_connections | 55 |
+----------------------+-------+
1 row in set (0.00 sec)
MySQL服务器过去的最大连接数是55,没有达到服务器连接数上限151,应该没有出现1040错误源码天空,
比较理想的设置是:
Max_used_connections / max_connections * 100% ≈ 85%
最大连接数占上限连接数的85%左右,如果发现比例在10%以下,MySQL服务器连接上线就设置得过高了。
修改Mysql最大连接数:
方法一: |
01 |
进入MySQL安装目录 打开MySQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=600 服务里重起MySQL即可 |
02 |
#vi /etc/my.cnf |
|
方法二: |
01 |
MySQL最大连接数默认是100客户端登录: |
02 |
MySQL -uusername -ppassword |
03 |
设置新的MySQL最大连接数为200: |
04 |
MySQL> set GLOBAL max_connections=200; |
|
显示当前运行的Query: |
01 |
MySQL> show processlist; |
19 |
显示当前状态: |
21 |
MySQL> show status; |