# 26.3.23 信息_SCHEMA PROCESSLIST 表

MySQL 进程列表指示当前由服务器内执行的线程集执行的操作。这进程列表表是过程信息的一种来源。有关此表与其他来源的比较,请参阅过程信息的来源.

进程列表表有这些列:

  • ID

    连接标识符。这与显示在Id的列显示进程列表声明,显示在PROCESSLIST_ID性能模式的列线程表,并由CONNECTION_ID()线程内的函数。

  • 用户

    发出语句的 MySQL 用户。一个值系统用户指由服务器生成的用于在内部处理任务的非客户端线程,例如,延迟行处理程序线程或副本主机上使用的 I/O 或 SQL 线程。为了系统用户, 中没有指定主机主持人柱子。未经身份验证的用户指已与客户端连接关联但尚未发生客户端用户身份验证的线程。event_scheduler指的是监控预定事件的线程(参见第 25.4 节,“使用事件调度程序”)。

    笔记

    一种用户的价值系统用户不同于SYSTEM_USER特权。前者指定内螺纹。后者区分系统用户和普通用户帐户类别(请参阅第 6.2.11 节,“帐户类别”)。

  • 主持人

    发出语句的客户端的主机名(除了系统用户,没有主机)。TCP/IP 连接的主机名报告在*主机名*:*客户端端口*格式以便更容易确定哪个客户端在做什么。

  • D B

    线程的默认数据库,或空值如果没有选择。

  • 命令

    线程代表客户端执行的命令类型,或睡觉如果会话空闲。有关线程命令的说明,请参见第 8.14 节,“检查服务器线程(进程)信息”.该列的值对应于COM_*xxx*客户端/服务器协议的命令和Com_*xxx*状态变量。看第 5.1.10 节,“服务器状态变量”.

  • 时间

    线程处于当前状态的时间(以秒为单位)。对于副本 SQL 线程,该值是上次复制事件的时间戳与副本主机的实际时间之间的秒数。看第 17.2.3 节,“复制线程”.

  • 状态

    指示线程正在做什么的动作、事件或状态。对于描述状态值,见第 8.14 节,“检查服务器线程(进程)信息”.

    大多数状态对应于非常快速的操作。如果一个线程在给定状态下停留数秒,则可能存在需要调查的问题。

  • 信息

    线程正在执行的语句,或空值如果它不执行任何语句。如果该语句执行其他语句,则该语句可能是发送到服务器的语句,或者是最内层的语句。例如,如果一个称呼语句执行正在执行的存储过程选择声明信息值显示选择陈述。

# 笔记

  • 进程列表是一个非标准INFORMATION_SCHEMA桌子。

  • 就像从显示进程列表声明进程列表表提供有关所有线程的信息,即使是属于其他用户的线程,如果您有过程特权。否则(没有过程特权),非匿名用户可以访问有关他们自己的线程的信息,但不能访问其他用户的线程,匿名用户无权访问线程信息。

  • 如果 SQL 语句引用进程列表表,MySQL 在语句执行开始时填充整个表一次,因此在语句期间存在读取一致性。多语句事务没有读一致性。

    以下语句是等效的:

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST

SHOW FULL PROCESSLIST