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