下面的讨论列举了流程信息源、查看流程信息所需的特权,并描述了流程列表条目的内容。
工艺信息可从以下来源获得:
的mysqladmin processlist命令:章节4.5.2,“mysqladmin -一个MySQL服务器管理程序”
的
INFORMATION_SCHEMA
PROCESSLIST
表:章节24.3.18,“INFORMATION_SCHEMA PROCESSLIST表”性能模式
线程
名称前缀为的表列PROCESSLIST_
:第25.12.16.3节“线程表”的
sys
模式processlist
而且会话
视图:第26.4.3.22节,processlist和x$processlist视图,第26.4.3.33节,“会话和x$session视图”
的线程
表与显示PROCESSLIST
,INFORMATION_SCHEMA
PROCESSLIST
,mysqladmin processlist如下:
查阅
线程
表不需要互斥,对服务器性能的影响最小。其他源具有负面的性能影响,因为它们需要互斥。的
线程
表显示后台线程,其他源不显示。它还为每个线程提供其他源没有提供的额外信息,例如线程是前台线程还是后台线程,以及与线程关联的服务器中的位置。这意味着线程
表可以用来监视线程活动,而其他源不能。可以启用或禁用性能模式线程监视,如中所述第25.12.16.3节“线程表”.
基于这些原因,使用其他线程信息源之一执行服务器监视的dba可能希望使用线程
表。
的sys
模式processlist
视图显示来自性能模式的信息线程
表在更容易访问的格式。的sys
模式会话
视图显示有关用户会话的信息,如sys
模式processlist
视图,但过滤掉了后台进程。
对于大多数流程信息来源,如果您有过程
特权,您可以看到所有的线程,甚至那些属于其他用户。否则(没有过程
特权),非匿名用户可以访问关于自己线程的信息,但不能访问其他用户的线程,而匿名用户不能访问线程信息。
性能模式线程
表也提供线程信息,但是表访问使用不同的特权模型。看到第25.12.16.3节“线程表”.
每个流程列表条目包含若干条信息。下面的列表使用来自的标签描述它们显示PROCESSLIST
输出。其他流程信息源使用类似的标签。
Id
与线程关联的客户端的连接标识符。用户
而且宿主
指示与线程关联的帐户。db
是线程的默认数据库,还是零
如果没有选择。命令
而且状态
指示线程正在做什么。大多数状态对应于非常快速的操作。如果线程在给定状态中停留了许多秒,则可能存在需要调查的问题。
下面的部分列出了可能的方法
命令
值,状态
按类别分组的值。其中一些价值的意义是不言而喻的。对于其他的,提供了额外的描述。请注意检查进程列表信息的应用程序应该意识到命令和状态可能会发生变化。
时间
指示线程处于当前状态的时间。线程对当前时间的概念在某些情况下可能会改变:线程可以用设置时间戳=
.对于复制SQL线程,该值是上次复制事件的时间戳与复制主机的实时时间之间的秒数。看到第16.2.3节,“复制线程”.价值
信息
指示线程正在执行的语句,或零
如果它没有执行任何语句。为显示PROCESSLIST
,该值只包含语句的前100个字符。要查看完整的语句,请使用显示完整流程列表
(或查询不同的流程信息源)。