mysql连接数清理

查看mysql连接进程列表
show full processlist;
查看mysql最大连接数
show variables like '%max_connections%';
查看当前使用的连接数
show global status like 'Max_used_connections';
设置禁触休息多少秒后清除连接
set global wait_timeout=10000;

set global interactive_timeout=300;
杀掉空闲时间在600秒以上的链接,拼接得到kill语句
select concat('KILL ',id,';') from information_schema.`processlist` 
where command = 'Sleep' and time > 600;
杀掉处于某个状态的链接,拼接得到kill语句
select concat('KILL ',id,';') from information_schema.`processlist`
where state = 'Sleep';
杀掉某个用户发起的链接,拼接得到kill语句
select concat('KILL ',id,';') from information_schema.`processlist`
where user = 'user';
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
下面是一个常用的 MySQL 连接池的推荐配置: ``` # 初始化连接数 initialSize=10 # 最大连接数 maxActive=100 # 最大空闲连接数 maxIdle=50 # 最小空闲连接数 minIdle=10 # 获取连接时的最大等待时间,单位毫秒。超过该时间将抛出异常 maxWait=5000 # 检查连接是否有效的 SQL 语句,用于保证连接池中的连接都是有效的 validationQuery=SELECT 1 # 检查连接是否有效的超时时间,单位秒 validationQueryTimeout=10 # 当连接池中的连接耗尽时,是否阻塞等待 blockWhenExhausted=true # 是否在连接池空闲时检查连接的有效性 testWhileIdle=true # 是否在从连接池中获取连接时检查连接的有效性 testOnBorrow=false # 是否在归还连接到连接池时检查连接的有效性 testOnReturn=false # 连接池中连接空闲时的最大存活时间,单位毫秒 maxIdleTime=60000 # 连接池中连接空闲时的最大存活时间,单位毫秒 maxEvictableIdleTimeMillis=1200000 # 定时清理无效连接的时间周期,单位毫秒。如果小于等于 0,则禁用清理功能 timeBetweenEvictionRunsMillis=60000 # 是否开启连接泄露检测。如果开启,当连接被应用程序泄露时会打印警告信息 removeAbandoned=false # 连接被泄露的超时时间,单位秒。如果 removeAbandoned 为 true,则应用程序获取连接后,超过该时间未归还连接,会被认为是泄露的连接 removeAbandonedTimeout=300 # 是否在发现泄露的连接时打印堆栈跟踪信息 logAbandoned=false ``` 需要注意的是,这个配置并不是适用于所有场景的,实际使用时还需要结合具体的业务场景和系统资源情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值