MySQL连接数过多的处理方法
当线上紧急出现mysql连接过多的故障, 可以通过以下两个方法修复
1. GDB紧急修改最大连接数
gdb -p $(cat /data/mydata/xxx.pid) -ex “set max_connections=500” -batch
2. 进入数据库全局修改
set GLOBAL max_connnections = 500
出现的原因
出现的原因有多种:
- 应用程序占用连接后没有释放
- 单纯业务量大, 连接爆了
解决办法
- 重构应用程序代码, 及时关闭连接, 或统一管理引入连接池概念
- 配置 interactive_timeout 重新定义交互式连接, 服务端等待的最大时间
- 配置 wait_timeout 重新定义非交互式, 服务端等待的最大时间 (默认28800 8小时)
- 引入分布式, 主从分离, 负载均衡等 降低数据库的压力