Documentation Home

10.1.6.2 内置 MySQL Shell 报告:线程

内置的 MySQL Shell 报告threads可从 MySQL Shell 8.0.18 获得。它列出了连接的 MySQL 服务器中的当前线程,这些线程属于用于运行报告的用户帐户。该报告适用于运行所有受支持的 MySQL 5.7 和 MySQL 8.0 版本的服务器。如果任何信息项在目标服务器的 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() 函数)。报告中显示的任何截断语句均根据statement_truncate_len MySQL 服务器 sys_config表中的选项设置进行截断,默认为 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