- 10.1.6.1 内置MySQL Shell报告:查询
- 10.1.6.2 内置 MySQL Shell 报告:线程
- 10.1.6.3 内置MySQL Shell报告:线程
MySQL Shell 包含内置报告来显示以下信息:
- 任何指定 SQL 查询的结果(
query
可从 MySQL Shell 8.0.16 获得)。 - 连接的 MySQL 服务器中当前线程的列表(
threads
可从 MySQL Shell 8.0.18 获得)。 - 有关指定线程的详细信息(
thread
可从 MySQL Shell 8.0.18 获得)。
与用户定义的报告一样,内置报告可以使用 MySQL Shell\show
命令运行一次,也可以使用该命令在 MySQL Shell 会话中运行并持续刷新\watch
。除非其说明中另有说明,除了特定于报告的选项之外,内置报告还支持\show
和 命令的标准选项。\watch
还可以使用对象作为 API 函数来
10.1.6.1 内置MySQL Shell报告:查询
query
MySQL Shell 8.0.16 提供 内置 MySQL Shell 报告。它执行作为参数提供的单个 SQL 语句,并使用 MySQL Shell 的报告工具返回结果。您可以使用该 query
报告作为生成简单报告以供立即使用的便捷方式。
该query
报告没有特定于报告的选项,但 可以使用 \show
和命令的标准选项,如第 10.1.5 节“运行 MySQL Shell 报告”中所述。 \watch
例如,以下命令使用报告 query
显示语句计数器变量并每 0.5 秒刷新一次结果:
\watch query --interval=0.5 show global status like 'Com%'
10.1.6.2 内置 MySQL Shell 报告:线程
threads
MySQL Shell 8.0.18 提供 内置 MySQL Shell 报告。它列出了连接的 MySQL 服务器中属于用于运行报告的用户帐户的当前线程。该报告适用于运行所有受支持的 MySQL 5.7 和 MySQL 8.0 版本的服务器。如果任何信息项在目标服务器的 MySQL Server 版本中不可用,则报告会将其忽略。
该threads
报告提供了从各种来源(包括 MySQL 的性能架构)获取的每个线程的信息。使用特定于报告的选项,您可以选择显示前台线程、后台线程或所有线程。您可以为每个线程报告一组默认信息,或从大量可用选项中选择要包含在报告中的特定信息。您可以过滤、排序和限制输出。有关特定于报告的选项的详细信息以及可以包含在报告中的信息的完整列表,请发出以下 MySQL Shell 命令之一来查看报告帮助:
\help threads
\show threads --help
除了特定于报告的选项之外, 报告还接受和命令threads
的标准选项,如第 10.1.5 节“运行 MySQL Shell 报告” 中所述 。该 报告是列表类型,默认情况下结果以表格形式返回,但您可以使用 (或) 选项以垂直格式显示它们。 \show``\watch``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
10.1.6.3 内置MySQL Shell报告:线程
thread
MySQL Shell 8.0.18 提供 内置 MySQL Shell 报告。它提供有关连接的 MySQL 服务器中特定线程的详细信息。该报告适用于运行所有受支持的 MySQL 5.7 和 MySQL 8.0 版本的服务器。如果任何信息项在目标服务器的 MySQL Server 版本中不可用,则报告会将其忽略。
该thread
报告提供了所选线程及其活动的信息,这些信息取自各种来源,包括 MySQL 的性能模式。默认情况下,报告显示有关当前连接使用的线程的信息,或者您可以通过线程 ID 或连接 ID 来识别线程。您可以选择一类或多类信息,或查看有关该话题的所有可用信息。有关特定于报告的选项以及可以包含在报告中的信息的详细信息,请发出以下 MySQL Shell 命令之一来查看报告帮助:
\help thread
\show thread --help
除了特定于报告的选项之外, 报告还接受和 命令thread
的大多数标准选项,如 第 10.1.5 节“运行 MySQL Shell 报告”中所述。该命令的(或) 选项除外,该选项不被接受。该报告具有自定义输出格式,其中包括不同部分中呈现的垂直列表和表格,并且您无法更改此输出格式。 \show``\watch``--vertical``-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