Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > mysql查看连接数和设置会话超时

mysql查看连接数和设置会话超时问题

作者:有谁看见我的剑了?

这篇文章主要介绍了mysql查看连接数和设置会话超时问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

在排查mysql资源占用的情况下

我们就需要查看是否是过多sleep进程导致的资源占用情况

查看当前打开的连接的数量

show status like '%Threads_connected%'

查看连接状态

show full processlist;

查看不在睡眠的线程数

show status like '%Threads_running%'

上面简单的查看了一下mysql的会话连接

下面来设置一下会话超时时间

查看会话超时时间

show GLOBAL VARIABLES like '%timeout%';			#查看全局会话时间

wait_timeout 非交互连接超时时间,比如jdbc连接

interactive_timeout 交互连接超时时间,比如客户端连接

//默认超时时间是8小时

现在通过修改超时时间来处理掉sleep进程

set GLOBAL interactive_timeout = 60;	
set GLOBAL wait_timeout = 60;

现在只是临时设置,永久设置的话需要修改mysql配置文件 

在[mysqld]下面添加两条配置

echo '
interactive_timeout=60	
wait_timeout=60
'  >>  /etc/my.cnf

查看全局超时时间和会话超时时间:

show GLOBAL VARIABLES like '%timeout%';				#查看全局超时时间
show VARIABLES like '%timeout%';					#查看会话超时时间

真正起到作用的是会话超时时间

wait_timeout 会默认继承全局wait_timeout的值,但是修改全局的interactive_timeout 的值,会直接同步会话的 interactive_timeout 和 wait_timeout 的值

实验一下,将全局 interactive_timeout 修改为 120(是直接修改mysql配置文件)

查看全局超时时间和会话超时时间

可以看出我修改了全局的interactive_timeout 配置为120 ,会话的interactive_timeout和wait_timeout 配置都已经同步了

###现在在120秒后交互和非交互没有任何操作,连接就会断开

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文