概述
原因:
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%';
最后
以上就是能干星月为你收集整理的Mysql Too many connections 解决办法(linux)的全部内容,希望文章能够帮你解决Mysql Too many connections 解决办法(linux)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复