• 首页
  • css3教程
  • html5教程
  • jQuery手册
  • vue手册
  • php手册
  • MySQL手册
  • apache手册
  • redis手册
  • SHOW PROCESSLIST语句

    SHOW [FULL] PROCESSLIST
    

    SHOW PROCESSLIST显示正在运行的线程。如果您有PROCESS特权,则可以看到所有线程。否则,您只能看到自己的线程(即与您正在使用的MySQL帐户关联的线程)。如果您不使用FULL关键字,那么该Info字段中仅显示每个语句的前100个字符。

    SHOW PROCESSLIST如果收到“太多的连接”错误消息并想了解发生了什么,该语句将非常有用。MySQL保留一个额外的连接,供具有CONNECTION_ADMINSUPER特权的帐户使用,以确保管理员应始终能够连接并检查系统(假设您未将此特权授予所有用户)。

    可以使用该KILL语句杀死线程。请参见“ 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
    5 rows in set (0.00 sec)
    

    SHOW PROCESSLIST输出包含以下列:

    • Id

      连接标识符。这IDINFORMATION_SCHEMAPROCESSLIST表的PROCESSLIST_ID列,性能模式threads表的列中显示并由CONNECTION_ID()函数返回的值类型相同。

    • User

      发出该语句的MySQL用户。值表示system user服务器产生的非客户端线程,以在内部处理任务。这可能是复制从属服务器或延迟行处理程序上使用的I / O或SQL线程。对于system user,在Host列中未指定主机。unauthenticated user是指已经与客户端连接相关联但尚未完成客户端用户身份验证的线程。event_scheduler是指监视计划的事件的线程(请参见“MySQL事件计划程序”)。

      注意

      User的值system user是从不同的SYSTEM_USER特权。前者指定内部线程。后者区分系统用户帐户和常规用户帐户类别(请参见“帐户类别”)。

    • Host

      发出该语句的客户端的主机名(除了system user,没有主机)。TCP / IP连接的主机名以格式报告,以便更轻松地确定哪个客户端在做什么。host_name:client_port

    • db

      默认数据库(如果已选择);否则NULL

    • Command

      线程正在执行的命令的类型。有关线程命令的描述,请参见“检查线程信息”。该列的值对应于客户端/服务器协议的命令和状态变量。请参见“服务器状态变量”。COM_xxxCom_xxx

    • Time

      线程处于其当前状态的时间(以秒为单位)。对于从属SQL线程,该值是上次复制事件的时间戳与从属计算机的实时之间的秒数。请参见“复制实现细节”。

    • State

      指示线程正在执行的操作,事件或状态。State值的说明可以在“检查线程信息”中找到。

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

      对于SHOW PROCESSLIST声明中的价值StateNULL

    • Info

      线程正在执行的语句,或者NULL未执行任何语句的语句。该语句可能是发送到服务器的那条语句,或者是最内部的语句(如果该语句执行其他语句)。例如,如果一条CALL语句执行了正在执行一条SELECT语句的存储过程,则该Info值将显示该SELECT语句。

    还可从mysqladmin processlist命令,该INFORMATION_SCHEMAPROCESSLIST表和“性能模式”threads表中获得过程信息(请参见“mysqladmin-用于管理MySQL服务器的客户端”,“ INFORMATION_SCHEMA PROCESSLIST表”和.18.5,“线程表”)。与由于需要互斥锁而对INFORMATION_SCHEMAPROCESSLIST表和SHOW PROCESSLIST语句造成负面性能影响的表相比,对表和语句的访问threads不需要互斥锁,并且对服务器性能的影响最小。的threadstable还显示了有关后台线程的信息,而该PROCESSLISTSHOW PROCESSLIST却没有。这意味着threads可以用来监视其他线程信息源无法监视的活动。