内置 MySQL Shell 报告 threads
列出了连接到 MySQL 服务器的当前线程,这些线程属于用于运行报告的用户帐户。该报告适用于运行所有受支持的 MySQL 5.7、8.0 和 8.1 版本的服务器。如果目标服务器的 MySQL 服务器版本中没有提供任何信息项,则该报告会将其省略。
该 threads
报告提供了来自各种来源(包括 MySQL 的性能架构)的每个线程的信息。使用报告特定的选项,您可以选择显示前台线程、后台线程或所有线程。您可以为每个线程报告一组默认信息,或从大量可用选择中选择要包含在报告中的特定信息。您可以过滤、排序和限制输出。有关报告特定选项和您可以在报告中包含的全部信息的详细信息,请执行以下 MySQL Shell 命令之一以查看报告帮助
\help threads
\show threads --help
除了报告特定选项外,threads
报告还接受 \show
和 \watch
命令的标准选项,如 第 10.1.5 节,“运行 MySQL Shell 报告” 中所述。该 threads
报告属于列表类型,默认情况下结果以表格形式返回,但您可以使用 --vertical
(或 -E
)选项以垂直格式显示它们。
该 threads
报告使用 MySQL 服务器的 format_statement()
函数(请参见 format_statement() 函数)。报告中显示的任何被截断的语句都是根据 MySQL 服务器 sys_config
表中 statement_truncate_len
选项的设置进行截断的,默认值为 64 个字符。
以下列表总结了 threads
报告的报告特定选项提供的功能。有关选项的完整详细信息和简短形式,请参见报告帮助
-
--foreground
,--background
,--all
仅列出前台线程、仅列出后台线程或列出所有线程。该报告会显示与您的线程类型选择相匹配的一组默认字段,除非您使用
--format
选项来指定您自己的字段选择。-
--format
定义您自己的自定义信息集,以显示每个线程,指定为列的逗号分隔列表(如果需要,还可以包含显示名称)。报告帮助列出了您可以包含在自定义报告中的所有列。
-
--where
,--order-by
,--desc
,--limit
使用逻辑表达式过滤返回的结果 (
--where
),根据选定的列排序 (--order-by
),以降序而不是升序排序--desc
),或限制返回的线程数量 (--limit
)。
例如,以下命令运行 threads
报告以显示所有前台线程,并包含自定义信息集,其中包括线程 ID、任何生成线程的 ID、连接 ID、用户名和主机名、客户端程序名称、线程正在执行的命令类型以及线程分配的内存
mysql-js> \show threads --foreground -o tid,ptid,cid,user,host,progname,command,memory