MySQL的Too many connections问题

3,536 阅读1分钟

1. 导致这个的原因是什么?

超过MySQL的最大连接数了,这个最大连接数是可配置的,所以解决这个问题就是调大这个连接数或将连接数控制在小于最大连接数范围内

2. 怎么查询这个参数是多少?

show variables like 'max_connections';

image.png

3. max_connections默认值是多少?设置范围是多少?

  • 默认值151
  • MySQL服务器允许的最大连接数是16384
  • 设置多少合适呢?

4. max_connections设置多少合适?

MySQL服务器最大连接数值的设置范围比较理想的是:服务器响应的最大连接数值占服务器上限连接数值的比例值在10%以上,如果在10%以下,说明mysql服务器最大连接上限值设置过高。

# 验证最大连接数值是否合理
Max_used_connections / max_connections = 215/1000 ≈ 21.5%

# 查看服务器响应最大连接数
show global status like 'Max_used_connections';

image.png

5. 怎么修改?命令行修改(临时修改)?

set global max_connections=1000;

image.png

6. 配置文件修改

找到配置文件my.cnf(linux默认位置为/etc/my.cnf),注意是在[mysqld]段配置

[mysqld]
max_connections=1000