show processlist 命令详解
一、命令含义
对于一个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值解释
五、参考资料
show processlist 详解:https://blog.csdn.net/zhengzhaoyang122/article/details/127839558
本文完结!