如何kill掉卡顿的MySQL线程?
发布时间:2025-05-22 03:31:04
作者:益华网络
来源:undefined
浏览量(3)
点赞(5)
摘要:作为一个开发人员或者数据库管理员,学会检查数据库运行情况是必不可少的工作。造成MySQL线程卡顿的原因有很多,比如deadlock,但是无论是哪种原因,我们发现问题之后的***要务就是解决问题,防止问题继续恶化。那么,应该如何操作? 查找线程 有两种方法可以查看正在运行的线程。
作为一个开发人员或者数据库管理员,学会检查数据库运行情况是必不可少的工作。造成MySQL线程卡顿的原因有很多,比如deadlock,但是无论是哪种原因,我们发现问题之后的***要务就是解决问题,防止问题继续恶化。那么,应该如何操作?
查找线程
有两种方法可以查看正在运行的线程。
进入到mysql/bin目录下,执行mysqladmin processlist
连上MySQL,输入show processlist;命令查看
我们用Navicat登录localhost简单看一下,结果如下:
结果中每一行对应一个连接,每一列的含义如下:
Id:thread_id,线程id;
User:用户,如果你不是root,那么只能看到权限范围内的SQL;
Host:可以看到来源IP和端口,结合netstat或lsof命令可快速定位进程;
db:当前DB实例;
Command:当前执行的命令,通常是sleep、query、connect ;
Time:当前状态持续了多少秒;
State:当前状态;
Info:当前语句;
杀死线程
执行kill id命令即可杀死卡顿的线程
常见原因
造成线程卡顿的原因有很多,但是很多时候通常只有两种:
锁竞争
慢查询
扫一扫,关注我们
声明:本文由【益华网络】编辑上传发布,转载此文章须经作者同意,并请附上出处【益华网络】及本页链接。如内容、图片有任何版权问题,请联系我们进行处理。
5