阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL show processlist说明

120次阅读
没有评论

共计 2040 个字符,预计需要花费 6 分钟才能阅读完成。

show processlist 和 show full processlist

processlist 命令的输出结果显示了有哪些线程在运行,不仅可以查看当前所有的连接数,还可以查看当前的连接状态帮助识别出有问题的查询语句等。

如果是 root 帐号,能看到所有用户的当前连接。如果是其他普通帐号,则只能看到自己占用的连接。showprocesslist 只能列出当前 100 条。如果想全部列出,可以使用 SHOW FULL PROCESSLIST 命令

MySQL> show processlist;
+----+------+--------------------+------+---------+-------+-------+------------------+
| Id | User | Host               | db   | Command | Time  | State | Info             |
+----+------+--------------------+------+---------+-------+-------+------------------+
|  1 | root | localhost          | NULL | Sleep   |    12 |       | NULL             |
|  2 | root | 192.168.100.1:7437 | test | Sleep   |  8035 |       | NULL             |
|  3 | root | 192.168.100.1:7438 | NULL | Sleep   | 24348 |       | NULL             |
|  5 | root | 192.168.100.1:7443 | NULL | Sleep   | 24317 |       | NULL             |
|  7 | root | 192.168.100.1:7450 | test | Sleep   | 24272 |       | NULL             |
|  9 | root | 192.168.100.1:5152 | test | Query   |     0 | init  | show processlist |
+----+------+--------------------+------+---------+-------+-------+------------------+
6 rows in set
mysql> show full processlist;
+----+------+--------------------+------+---------+-------+-------+-----------------------+
| Id | User | Host               | db   | Command | Time  | State | Info                  |
+----+------+--------------------+------+---------+-------+-------+-----------------------+
|  1 | root | localhost          | NULL | Sleep   |    19 |       | NULL                  |
|  2 | root | 192.168.100.1:7437 | test | Sleep   |  8042 |       | NULL                  |
|  3 | root | 192.168.100.1:7438 | NULL | Sleep   | 24355 |       | NULL                  |
|  5 | root | 192.168.100.1:7443 | NULL | Sleep   | 24324 |       | NULL                  |
|  7 | root | 192.168.100.1:7450 | test | Sleep   | 24279 |       | NULL                  |
|  9 | root | 192.168.100.1:5152 | test | Query   |     0 | init  | show full processlist |
+----+------+--------------------+------+---------+-------+-------+-----------------------+
6 rows in set

各个列的含义:

①.id 列,用户登录 mysql 时,系统分配的 ”connection_id”,可以使用函数 connection_id() 查看
②.user 列,显示当前用户。如果不是 root,这个命令就只显示用户权限范围的 sql 语句
③.host 列,显示这个语句是从哪个 ip 的哪个端口上发的,可以用来跟踪出现问题语句的用户
④.db 列,显示这个进程目前连接的是哪个数据库
⑤.command 列,显示当前连接的执行的命令,一般取值为休眠(sleep),查询(query),连接(connect)等
⑥.time 列,显示这个状态持续的时间,单位是秒
⑦.state 列,显示使用当前连接的 sql 语句的状态,很重要的列。state 描述的是语句执行中的某一个状态。一个 sql 语句,以查询为例,可能需要经过 copying to tmp table、sorting result、sending data 等状态才可以完成
⑧.info 列,显示这个 sql 语句,是判断问题语句的一个重要依据

在主从复制环境中,show processlist 或 show full processlist 对于判断状态很有帮助,例如下面的 state 列:

MySQL show processlist 说明

MySQL show processlist 说明

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-10/148108.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计2040字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中