这个专题主要讲information_ schema数据库下的一些表

如无特殊说明数据库版本为MySQL 5.7.26

1. PROCESSLIST

该表提供数据库允许的线程的情况

除非用户有process权限,否则只能看到该用户所拥有的线程的信息

也可以通过mysqladmin processlist 命令来执行

他有如下栏位

  • ID 连接标识符,这个ID和show processlist 中ID是一样的,也和Performance Schema 中threads表的PROCESSLIST_ID 栏位是一样的,也和CONNECTION_ID()函数返回的是一样的
  • USER 连接的用户,其中system user代表系统用户,非用户连接,unauthenticated user代表是用户连接,但是未完成认证,event_scheduler 用户代表的是监控定时任务的用户
  • HOST 连接的主机名,如果用户是system user,则HOST为空
  • DB 连接的数据库,如果未选择数据库,则为NULL
  • COMMAND 线程执行的命令类型

  • TIME 线程在当前状态持续的时间,以秒为单位

  • STATE 线程当前的状态,如果该状态持续很久,说明有问题,如果是SHOW PROCESSLIST 命令,则状态为NULL

  • INFO 线程执行的具体命令,如果执行的是call procedure,这里可能显示的是内容的语句,如select

2. 实际截图

首先新建一个分区表

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
Image.png

或者show命令

FULL代表显示语句的全部内容

SHOW FULL PROCESSLIST;

SHOW PROCESSLIST;
Image_2.png

4. 参考链接

https://dev.mysql.com/doc/refman/5.7/en/processlist-table.html