mysql中有大量sleep进程的原因与解决办法

mysql配置文件中有:wait_timeout 可设置睡眠连接超时秒数,如果某个连接超时,会被mysql自然终止!

 # vi /etc/my.cnf 
 [mysqld] 
 wait_timeout=10 
 # /etc/init.d/mysql restart 

对于正在运行中的生产服务器,在不能停止服务情况下,修改此项怎么办

SHOW VARIABLES LIKE 'wait_timeout'; #会话变量
SHOW GLOBAL VARIABLES LIKE '%timeout';#全局变量
  • 缺省情况下,wait_timeout的初始值是28800
  • wait_timeout过大有弊端,其体现就是MySQL里大量的SLEEP进程无法及时释放,拖累系统性能,
  • 设置的过小,可能会遭遇到“MySQL has gone away”之类的问题
  • 对于正在运行中的生产服务器,在不能停止服务情况下,修改此项,以root用户登录到mysql,执行:
set global wait_timeout=100;
set global wait_timeout=3600;

即可。

show variables # 发现设置好像并没有生效
# 因为show variables等同于 show session variables查询的是会话变量
show global variables # 查询的才是全局变量
# 仅想临时性的修改,可以修改会话变量,重启服务器后,wait_timeout的值又会变成28800
set wait_timeout=10;
# 或
set session wait_timeout=10; 
# 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

讓丄帝愛伱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值