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

10.1.6.2 内置 MySQL Shell 报告:线程

内置 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