MySQL连接数过多的处理方法

当线上紧急出现mysql连接过多的故障, 可以通过以下两个方法修复

1. GDB紧急修改最大连接数

gdb -p $(cat /data/mydata/xxx.pid) -ex “set max_connections=500” -batch

2. 进入数据库全局修改

set GLOBAL max_connnections = 500

出现的原因

出现的原因有多种:

  1. 应用程序占用连接后没有释放
  2. 单纯业务量大, 连接爆了

解决办法

  1. 重构应用程序代码, 及时关闭连接, 或统一管理引入连接池概念
  2. 配置 interactive_timeout 重新定义交互式连接, 服务端等待的最大时间
  3. 配置 wait_timeout 重新定义非交互式, 服务端等待的最大时间 (默认28800 8小时)
  4. 引入分布式, 主从分离, 负载均衡等 降低数据库的压力