MySQL服务器最大连接数的合理设置

来源:互联网 发布:docker nginx jetty 编辑:程序博客网 时间:2024/05/22 17:44

MySQL服务器的连接数并不是要达到最大的100%为好,还是要具体问题具体分析,下面就对MySQL服务器最大连接数的合理设置进行了详尽的分析,供您参考。

我们经常会遇见“MySQL: ERROR 1040: Too many connections”的情况,一种是访问量确实很高,MySQL服务器抗不住,这个时候就要考虑增加从服务器分散读压力,另外一种情况是MySQL配置文件中max_connections值过小:

mysql> show variables like 'max_connections';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 256 |
+-----------------+-------+

这台MySQL服务器最大连接数是256,然后查询一下服务器响应的最大连接数:

mysql> show global status like 'Max_used_connections';

MySQL服务器过去的最大连接数是245,没有达到服务器连接数上限256,应该没有出现1040错误,比较理想的设置是:

Max_used_connections / max_connections * 100% ≈ 85%

最大连接数占上限连接数的85%左右,如果发现比例在10%以下,MySQL服务器连接上线就设置得过高了。

如果你的系统出现“too many connections”的错误, 你可以尝试修改mysql的max_connections属性。

我们先来看下如何修改当前mysql的max_connections的值:

如下sql

show variables like "max_connections";

显示的结果如下格式

+-----------------+-------+| Variable_name   | Value |+-----------------+-------+| max_connections | 100   |+-----------------+-------+

可以通过下面的sql语句将max_connections的值设置为200,当然前提是当前登录的用户有足够的权限:

set global max_connections = 200;

这个设置会马上生效,但是当mysql重启时这个设置会失效,更好的办法是修改mysql的ini配置文件my.ini或者是my.cnf

找到mysqld块,修改或者添加下面的设置:

max_connections=200

这样修改之后,即便重启mysql也会默认载入这个配置了


0 0
原创粉丝点击