SHOW [FULL] PROCESSLIST
MySQL进程列表指示服务器内正在执行的一组线程当前正在执行的操作。该 SHOW PROCESSLIST声明是过程信息的一种来源。有关此声明与其他来源的比较,请参见 过程信息来源。
如果您具有PROCESS 特权,则可以看到所有线程,甚至包括那些属于其他用户的线程。否则(没有 PROCESS特权),非匿名用户有权访问有关其自己线程的信息,而其他用户则不能访问线程,并且匿名用户无权访问线程信息。
如果没有FULL关键字,则 SHOW PROCESSLIST仅显示该Info字段中每个语句的前100个字符 。
SHOW PROCESSLIST如果您收到“太多的连接” 错误消息并想了解发生了什么, 该语句将非常有用。MySQL保留了一个额外的连接,供拥有SUPER特权的帐户使用,以确保管理员应始终能够连接并检查系统(假设您没有将此特权授予所有用户)。
可以使用该KILL语句杀死线程 。请参见 第13.7.6.4节“ KILL语句”。
SHOW PROCESSLIST 输出 示例:
mysql> SHOW FULL PROCESSLIST\G
*************************** 1. row ***************************
Id: 1
User: system user
Host:
db: NULL
Command: Connect
Time: 1030455
State: Waiting for master to send event
Info: NULL
*************************** 2. row ***************************
Id: 2
User: system user
Host:
db: NULL
Command: Connect
Time: 1004
State: Has read all relay log; waiting for the slave
I/O thread to update it
Info: NULL
*************************** 3. row ***************************
Id: 3112
User: replikator
Host: artemis:2204
db: NULL
Command: Binlog Dump
Time: 2144
State: Has sent all binlog to slave; waiting for binlog to be updated
Info: NULL
*************************** 4. row ***************************
Id: 3113
User: replikator
Host: iconnect2:45781
db: NULL
Command: Binlog Dump
Time: 2086
State: Has sent all binlog to slave; waiting for binlog to be updated
Info: NULL
*************************** 5. row ***************************
Id: 3123
User: stefan
Host: localhost
db: apollon
Command: Query
Time: 0
State: NULL
Info: SHOW FULL PROCESSLIST
SHOW PROCESSLIST 输出包含以下列:
Id
连接标识符。此值ID与INFORMATION_SCHEMA PROCESSLIST表的列中 显示的PROCESSLIST_ID值,性能模式threads 表的列中显示的值相同,并由CONNECTION_ID()线程中的函数返回 。
User
发出该语句的MySQL用户。值表示 system user服务器派生的非客户端线程以内部处理任务,例如,延迟行处理程序线程或副本主机上使用的I / O或SQL线程。对于system user,在该Host列中未指定主机 。unauthenticated user是指已与客户端连接关联但尚未对其进行客户端用户身份验证的线程。 event_scheduler是指监视计划的事件的线程(请参见 第23.4节“使用事件计划程序”)。
Host
发出该语句的客户端的主机名(除了system user,没有主机)。TCP / IP连接的主机名以 格式报告, 以便更轻松地确定哪个客户端在做什么。 host_name:client_port
db
线程的默认数据库,或者NULL如果未选择任何数据库 。
Command
线程代表客户端执行的命令类型,或者Sleep会话处于空闲状态。有关线程命令的描述,请参见 第8.14节“检查服务器线程(进程)信息”。该列的值对应于 客户机/服务器协议的 命令和 状态变量。请参见第5.1.9节“服务器状态变量”。 COM_xxxCom_xxx
Time
线程处于其当前状态的时间(以秒为单位)。对于副本SQL线程,该值是最后一个复制事件的时间戳与副本主机的实时之间的秒数。请参见 第16.2.3节“复制线程”。
State
指示线程正在执行的操作,事件或状态。有关State值的描述,请参见第8.14节“检查服务器线程(进程)信息”。
大多数状态对应于非常快速的操作。如果线程在给定状态下停留了几秒钟,则可能存在需要调查的问题。
Info
线程正在执行的语句,或者NULL如果线程 不执行任何语句。该语句可能是发送到服务器的那条语句,或者是最内部的语句(如果该语句执行其他语句)。例如,如果一条CALL 语句执行了正在执行一条SELECT语句的存储过程,则 该 Info值将显示该 SELECT语句。