MySQL Shell 8.4  /  ...  /  内置 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