Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > MySQL show processlist

MySQL使用show processlist命令的实现

作者:No8g攻城狮

本文详细解析了MySQL的showprocesslist命令,包括其功能、返回参数、Command值和State值的含义,及利用它来诊断和优化高CPU或iowait问题,感兴趣的可以了解一下

一、命令含义

对于一个MySQL连接,或者说一个线程,任何时刻都有一个状态,该状态表示了MySQL当前正在做什么。SHOW PROCESSLIST 命令的含义便是显示哪些线程正在运行。

SHOW PROCESSLIST 是显示用户正在运行的线程,需要注意的是,除了root用户能看到所有正在运行的线程外,其他用户都只能看到自己正在运行的线程,看不到其它用户正在运行的线程。除非单独给这个用户赋予了PROCESS权限。

通常我们通过top检查发现mysqlCPU或者iowait过高,那么解决这些问题都离不开show
processlist查询当前mysql有些线程正在运行,然后分析其中的参数,找出那些有问题的线程,该kill的kill,该优化的优化!

注意: show processlist只显示前100条 我们可以通过show full processlist 显示全部。

二、命令返回参数

root用户,可以看到全部线程运行情况,以下结果是root用户查询出来的结果,可参考:

返回内容解释:

字段含义
Id连接标识符(connection identifier)
User连接使用的MySQL用户名
Host连接的主机名或IP地址
db连接当前正在使用的数据库
Command当前执行的命令类型,如 Query(查询)、Sleep(休眠)等
Time连接已经运行的时间(单位:秒)
State连接的当前状态
Info当前执行的SQL语句或其他相关信息

三、Command值解释

四、State值解释

到此这篇关于MySQL使用show processlist命令的实现的文章就介绍到这了,更多相关MySQL show processlist内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

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