MySQL Shell 9.0  /  ...  /  内置 MySQL Shell 报告:线程

10.1.6.3 内置 MySQL Shell 报告:线程

内置 MySQL Shell 报告 thread 提供有关连接的 MySQL 服务器中特定线程的详细信息。该报告适用于运行所有支持的 MySQL 5.7 和 MySQL 8.0 版本的服务器。如果目标服务器的 MySQL 服务器版本中没有提供任何信息项,则该报告会将其省略。

thread 报告提供了有关所选线程及其活动的的信息,这些信息来自包括 MySQL 的性能模式在内的各种来源。默认情况下,该报告显示有关当前连接使用的线程的信息,或者您可以通过其 ID 或连接 ID 来标识线程。您可以选择一个或多个信息类别,或查看有关该线程的所有可用信息。有关特定于报告的选项和您可以包含在报告中的信息的详细信息,请发出以下 MySQL Shell 命令之一以查看报告帮助

\help thread
\show thread --help

除了特定于报告的选项之外,该 thread 报告还接受大多数针对 \show\watch 命令的标准选项,如 第 10.1.5 节,“运行 MySQL Shell 报告” 中所述。唯一的例外是针对 \show 命令的 --vertical(或 -E)选项,该选项不被接受。该 thread 报告具有自定义输出格式,包括垂直列表和以不同部分呈现的表格,您无法更改此输出格式。

threads 报告使用 MySQL 服务器的 format_statement() 函数(请参阅 format_statement() 函数)。报告中显示的任何截断语句都将根据 MySQL 服务器的 sys_config 表中 statement_truncate_len 选项的设置进行截断,该选项默认为 64 个字符。

以下列表总结了特定于报告的选项针对 threads 报告提供的功能。有关选项的完整详细信息和简写形式,请参阅报告帮助

--tid, --cid

标识要对其进行报告的线程 ID 或连接 ID。

--general

显示有关该线程的基本信息。如果您不使用以下任何选项,则默认情况下会返回此信息。

--brief

在一行上显示有关该线程的简要说明。

--client

显示有关客户端连接和客户端会话的信息。

--innodb

显示有关该线程当前使用的 InnoDB 事务(如果有)的信息。

--locks

显示有关阻塞和被该线程阻塞的锁的信息。

--prep-stmts

显示有关为该线程分配的准备好的语句的信息。

--status

显示有关该线程的会话状态变量的信息。您可以指定要匹配的前缀列表,在这种情况下,只会显示匹配的变量。

--vars

显示有关该线程的会话系统变量的信息。您可以指定要匹配的前缀列表,在这种情况下,只会显示匹配的变量。

--user-vars

显示有关该线程的用户定义变量的信息。您可以指定要匹配的前缀列表,在这种情况下,只会显示匹配的变量。

--all

显示以上所有信息,但简要说明除外。

例如,以下命令针对线程 ID 为 53 的线程运行 thread 报告,并返回有关该线程的一般信息,客户端连接的详细信息以及有关该线程阻塞或被其阻塞的任何锁的信息

mysql-py>  \show thread --tid 53 --general --client --locks