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