这个专题主要讲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:865 size:orig] 或者show命令 FULL代表显示语句的全部内容 ``` SHOW FULL PROCESSLIST; SHOW PROCESSLIST; ``` [image:866 size:orig] ## 4. 参考链接 [https://dev.mysql.com/doc/refman/5.7/en/processlist-table.html](https://dev.mysql.com/doc/refman/5.7/en/processlist-table.html)