内置的 MySQL Shell 报告thread
可从 MySQL Shell 8.0.18 获得。它提供有关连接的 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 报告”中所述。例外是命令的--vertical
(or -E
) 选项,\show
不被接受。该thread
报告具有自定义输出格式,包括在不同部分显示的垂直列表和表格,您无法更改此输出格式。
该threads
报告使用 MySQL 服务器的
format_statement()
函数(请参阅
format_statement() 函数)。报告中显示的任何截断语句均根据statement_truncate_len
MySQL 服务器
sys_config
表中的选项设置进行截断,默认为 64 个字符。
以下列表总结了报表特定选项提供的功能threads
。有关完整详细信息和选项的简短形式,请参阅报告帮助:
-
--tid
,--cid
标识要报告的线程 ID 或连接 ID。
-
--general
显示线程的基本信息。如果您不使用以下任何选项,则默认返回此信息。
-
--brief
在一行中显示线程的简短描述。
-
--client
显示有关客户端连接和客户端会话的信息。
-
--innodb
使用线程显示有关当前 InnoDB 事务的信息(如果有)。
-
--locks
显示有关锁阻塞和被线程阻塞的信息。
-
--prep-stmts
显示有关为线程分配的准备好的语句的信息。
-
--status
显示有关线程的会话状态变量的信息。您可以指定要匹配的前缀列表,在这种情况下,只会显示匹配的变量。
-
--vars
显示有关线程的会话系统变量的信息。您可以指定要匹配的前缀列表,在这种情况下,只会显示匹配的变量。
-
--user-vars
显示有关线程的用户定义变量的信息。您可以指定要匹配的前缀列表,在这种情况下,只会显示匹配的变量。
-
--all
显示除简要说明之外的所有上述信息。
例如,以下命令运行
thread
线程 ID 为 53 的线程的报告,并返回有关该线程的一般信息、客户端连接的详细信息以及有关该线程正在阻塞或被阻塞的任何锁的信息:
mysql-py> \show thread --tid 53 --general --client --locks