之前开发的项目需要排查一些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 排查问题相关推荐

  1. MySQL性能突发事件问题排查技巧

    导读:数据库是导致应用系统运行缓慢的常见原因.面对数据库引性能问题,很多开发者或者DBA却束手无策.本文作者经过多年的实际经验,整理了一些材料,将Linux环境下MySQL性能突发事件问题排查技巧分享 ...

  2. MySQL 复制夯住排查以及原理探讨

    一 引子 研发反应,有台从库和主库不同步.由于业务读操作是针对从库的,数据不同步必定会带来数据的不一致,业务获取的结果会受影响,所以这个问题必须尽快解决. 登上服务器,查看 MySQL 的从库状态,并 ...

  3. mysql show full processlist 分析问题

    一.命令概述: mysql show full processlist 用来查看当前线程处理情况,具体信息请参考官网:https://dev.mysql.com/doc/refman/5.7/en/s ...

  4. MySQL 遇到的死锁问_一个罕见的MySQL redo死锁问题排查及解决过程

    原标题:一个罕见的MySQL redo死锁问题排查及解决过程 作者:张青林,腾讯云布道师.MySQL架构师,隶属腾讯TEG-基础架构部-CDB内核开发团队,专注于MySQL内核研发&相关架构工 ...

  5. 详解MySQL的show processlist命令

    参考: https://www.cnblogs.com/remember-forget/p/10400496.html  按客户端 IP 分组,看哪个客户端的链接数最多;   查看正在执行的线程,并按 ...

  6. MySQL中 show processlist命令详解

    文章目录 1.show processlist是什么? 2.show processlist怎么用? 3.show processlist参数? 4.命令: show status; 1.show p ...

  7. 关于MySQL内存泄露如何排查的一些思路

    点击上方"蓝字" 关注我们,享更多干货! MySQL使用内存上升90%!在运维过程中50%的几率,会碰到这样的问题.算是比较普遍的现象. MySQL内存使用率过高,有诸多原因.普遍 ...

  8. mysql left join超时,MySQL 行锁超时排查方法优化

    一.大纲 #### 20191219 10:10:10,234 | com.alibaba.druid.filter.logging.Log4jFilter.statementLogError(Log ...

  9. mysql 行锁 超时_技术分享 | MySQL 行锁超时排查方法优化

    作者:xuty 本文来源:原创投稿 * 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源. 一.大纲 #### 20191219 10:10:10,234 | com.ali ...

最新文章

  1. activemq 开启监听_ActiveMQ 消息监听 MessageListener 的使用
  2. oracle数据库动态拼接查询条件解决方案
  3. VTK:可视化之CloseWindow
  4. GDB调试程序实例演示
  5. ArcGIS怎样获取重分类后各类所占的像元个数
  6. 仲裁文件夹服务器,仲裁服务器是什么
  7. 教你使用 IDEA 配置和运行vue项目
  8. 影响 5000 万开发者,GitHub 与 CSDN 掌舵人对话技术社区未来
  9. [bzoj3809]Gty的二逼妹子序列/[bzoj3236][Ahoi2013]作业
  10. 在深度学习时代用 HowNet 搞事情 刘知远 01-09
  11. 双人贪吃蛇@botzone算法设计
  12. JAVA查电话归属地
  13. 查看alexa世界排名
  14. java.sql.SQLException: Incorrect string value: ‘\xE4\xB8\x8A\xE6\xB5\xB7‘ for column ‘xxx‘
  15. [BJOI2019]勘破神机
  16. 一度智信:电商推广计划
  17. Lumiprobe核酸定量丨QuDye dsDNA BR 检测试剂盒
  18. 政务OA办公系统搭建现状
  19. 从面向对象设计思想出发理解Spring AOP编程
  20. dxe 如何跟smm 沟通 SMM Communication Protocol

热门文章

  1. AutoEventWireup介绍
  2. 0.91寸oled(128x32)的滚动显示问题
  3. Serv-U FTP Server 中文版 11.0.0.4安装及使用说明
  4. Linux环境安装FTP服务Serv-U
  5. 双态运维:如何让CMDB配置维护更贴近人性
  6. Python 学习笔记之 networkx 使用
  7. mark:ffmpeg的av_interleaved_write_frame写失败
  8. python3 http post get 收发数据
  9. 高频交易与量化交易到底有什么区别?
  10. 神通数据库学习笔记001