Mysql Too many connections 解决办法(linux)

原因:
  mysql配置参数中设定的并发连接数太少或者系统繁忙导致连接数被占满。
  连接数超过了 MySQL 设置的值,与 max_connections 和 wait_timeout 都有关。
  wait_timeout 的值越大,连接的空闲等待就越长,这样就会造成当前连接数越大。
  
mysql8.0 与之前的版本解决办法不同
查看mysql版本

select version();

在这里插入图片描述
mysql8.0 解决办法(只需要线上修改)
mysql8.0 使用 persist 参数会持久化到配置文件,比较简单
设置等待超时时间

set persist wait_timeout=120;

设置交互超时时间

set persist interactive_timeout=300;

设置最大链接数(一般500-1000合理)

set persist max_connections=1000;

----------------------------------------------------------------------------------------------------------------------------------
mysql5 – MySQL 7 解决方式:线上修改 + 配置文件修改(配置文件是为了mysql重启时生效)

1、线上修改(重启之后会恢复为默认)
设置等待超时时间

set global wait_timeout=120;

设置交互超时时间

set global  interactive_timeout=300;

设置最大链接数(一般500-1000合理)

set global max_connections=1000;

2、配置文件修改(mysql重启时读取,应付断电重启)
打开 /etc/my.cnf ,添加如下几行

max_connections=1000
wait_timeout=120
interactive_timeout=300

在这里插入图片描述

下边是查看配置参数和运行线程

查看哪些线程正在运行

show full processlist;

在这里插入图片描述

查看链接数配置

show global variables like '%CONNECTIONS%';

在这里插入图片描述
查看超时时间配置

show global variables like '%timeout%'; 

在这里插入图片描述

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值