Mysql使用 show processlist 排查问题
之前开发的项目需要排查一些MySQL的问题,会经常用到 show processlist,所以在这里把这个命令总结一下,做个备忘,以备不时只需。
首先是几条常用的SQL。
1、按客户端 IP 分组,看哪个客户端的链接数最多
select
client_ip,
count
(client_ip)
as
client_num
from
(
select
substring_index(host,
':'
,1)
as
client_ip
from
information_schema.processlist )
as
connect_info
group
by
client_ip
order
by
client_num desc;
2、查看正在执行的线程,并按 Time 倒排序,看看有没有执行时间特别长的线程
3、找出所有执行时间超过 5 分钟的线程,拼凑出 kill 语句,方便后面查杀 (此处 5分钟 可根据自己的需要调整SQL标红处)
可复制查询结果到控制台,直接执行,杀死堵塞进程
select
concat(
'kill '
, id,
';'
)
from
information_schema.processlist
where
Command !=
'Sleep'
and
Time
> 300
order
by
Time
desc
;
4、查询线程及相关信息 ID 为此线程ID,Time为线程运行时间,Info为此线程SQL
下面针对每列做下介绍:
Id:链接mysql 服务器线程的唯一标识,可以通过kill来终止此线程的链接。
User:当前线程链接数据库的用户
Host:显示这个语句是从哪个ip 的哪个端口上发出的。可用来追踪出问题语句的用户
db: 线程链接的数据库,如果没有则为null
Command: 显示当前连接的执行的命令,一般就是休眠或空闲(sleep),查询(query),连接(connect)
Time: 线程处在当前状态的时间,单位是秒
State:显示使用当前连接的sql语句的状态,很重要的列,后续会有所有的状态的描述,请注意,state只是语句执行中的某一个状态,一个 sql语句,已查询为例,可能需要经过copying to tmp table,Sorting result,Sending data等状态才可以完成
Info: 线程执行的sql语句,如果没有语句执行则为null。这个语句可以使客户端发来的执行语句也可以是内部执行的语句
由于Command的状态大部分都是sleep对我们分析问题没什么作用,所以我们可以通过如下语句来排除sleep状态的线程:
Mysql使用 show processlist 排查问题相关推荐
- MySQL性能突发事件问题排查技巧
导读:数据库是导致应用系统运行缓慢的常见原因.面对数据库引性能问题,很多开发者或者DBA却束手无策.本文作者经过多年的实际经验,整理了一些材料,将Linux环境下MySQL性能突发事件问题排查技巧分享 ...
- MySQL 复制夯住排查以及原理探讨
一 引子 研发反应,有台从库和主库不同步.由于业务读操作是针对从库的,数据不同步必定会带来数据的不一致,业务获取的结果会受影响,所以这个问题必须尽快解决. 登上服务器,查看 MySQL 的从库状态,并 ...
- mysql show full processlist 分析问题
一.命令概述: mysql show full processlist 用来查看当前线程处理情况,具体信息请参考官网:https://dev.mysql.com/doc/refman/5.7/en/s ...
- MySQL 遇到的死锁问_一个罕见的MySQL redo死锁问题排查及解决过程
原标题:一个罕见的MySQL redo死锁问题排查及解决过程 作者:张青林,腾讯云布道师.MySQL架构师,隶属腾讯TEG-基础架构部-CDB内核开发团队,专注于MySQL内核研发&相关架构工 ...
- 详解MySQL的show processlist命令
参考: https://www.cnblogs.com/remember-forget/p/10400496.html 按客户端 IP 分组,看哪个客户端的链接数最多; 查看正在执行的线程,并按 ...
- MySQL中 show processlist命令详解
文章目录 1.show processlist是什么? 2.show processlist怎么用? 3.show processlist参数? 4.命令: show status; 1.show p ...
- 关于MySQL内存泄露如何排查的一些思路
点击上方"蓝字" 关注我们,享更多干货! MySQL使用内存上升90%!在运维过程中50%的几率,会碰到这样的问题.算是比较普遍的现象. MySQL内存使用率过高,有诸多原因.普遍 ...
- mysql left join超时,MySQL 行锁超时排查方法优化
一.大纲 #### 20191219 10:10:10,234 | com.alibaba.druid.filter.logging.Log4jFilter.statementLogError(Log ...
- mysql 行锁 超时_技术分享 | MySQL 行锁超时排查方法优化
作者:xuty 本文来源:原创投稿 * 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源. 一.大纲 #### 20191219 10:10:10,234 | com.ali ...
最新文章
- activemq 开启监听_ActiveMQ 消息监听 MessageListener 的使用
- oracle数据库动态拼接查询条件解决方案
- VTK:可视化之CloseWindow
- GDB调试程序实例演示
- ArcGIS怎样获取重分类后各类所占的像元个数
- 仲裁文件夹服务器,仲裁服务器是什么
- 教你使用 IDEA 配置和运行vue项目
- 影响 5000 万开发者,GitHub 与 CSDN 掌舵人对话技术社区未来
- [bzoj3809]Gty的二逼妹子序列/[bzoj3236][Ahoi2013]作业
- 在深度学习时代用 HowNet 搞事情 刘知远 01-09
- 双人贪吃蛇@botzone算法设计
- JAVA查电话归属地
- 查看alexa世界排名
- java.sql.SQLException: Incorrect string value: ‘\xE4\xB8\x8A\xE6\xB5\xB7‘ for column ‘xxx‘
- [BJOI2019]勘破神机
- 一度智信:电商推广计划
- Lumiprobe核酸定量丨QuDye dsDNA BR 检测试剂盒
- 政务OA办公系统搭建现状
- 从面向对象设计思想出发理解Spring AOP编程
- dxe 如何跟smm 沟通 SMM Communication Protocol