11.7.1 收集诊断实用程序

2024年 4月 22日 60.6k 0

调试和诊断实用程序 util.debug.collectDiagnostics()使您能够收集 MySQL 服务器上的诊断数据。

  • 关于实用程序
  • 要求和限制
  • 运行实用程序
  • 收集诊断信息的选项

关于实用程序

诊断报告以 zip 文件形式生成到本地目录或指定路径。

util.debug.collectDiagnostics()使您能够从独立服务器、复制拓扑成员、InnoDB 集群和 MySQL HeatWave 服务数据库系统收集原始诊断数据。

该实用程序生成 TSV 和 YAML 格式的文件。

要求和限制

以下要求适用于使用诊断收集实用程序的导出:

  • 需要 MySQL 5.7 或更高版本。
  • 该实用程序必须以 root 身份运行。

运行实用程序

诊断实用程序具有以下签名:

util.debug.collectDiagnostics("path/",{options})

  • "*path*":您可以指定路径、文件名或路径和文件名。

    如果未提供文件名,则文件将写入指定位置并 使用文件名。 mysql-diagnostics-*YYYYMMDD-HHMMSS*.zip

    如果提供的文件名没有路径,则该文件将写入当前目录。

  • options:选项字典,如果为空则可以省略。 有关可用选项, 请参阅 收集诊断信息的选项。

    如果未定义选项,该实用程序会生成一组默认的诊断信息。每个选项都会向输出添加一个或多个报告。

以下示例于 2022 年 4 月 6 日上午 10:02:06 运行, mysql-diagnostics-20220406-100206.zipC:/Temp/目录中生成一组默认诊断信息 :

util.debug.collectDiagnostics("C:/Temp/")

以下示例在目录myDiagnostics.zip中 指定的文件中生成一组默认诊断信息C:/Temp/

util.debug.collectDiagnostics("C:/Temp/myDiagnostics.zip")

需要尾随正斜杠来定义路径。如果省略它,实用程序会创建一个 Temp.zip在指定路径中命名的文件。 C:/Temp.zip例如。无法覆盖现有文件。

主机信息 ( host_info) 仅从本地主机收集。无法从远程主机收集主机信息。如果您的 MySQL 服务器运行在远程主机上,则仅收集 MySQL 服务器信息。

在 Microsoft Windows 平台上,使用该实用程序收集主机信息MSInfo。这会在实用程序运行时生成一个额外的进度对话框。

收集诊断信息的选项

  • allMembers: [true|false]

    默认false。如果设置为 true,则为托管拓扑(例如 InnoDB Cluster)的所有成员生成诊断,并 ping 拓扑的每个成员。每个诊断都以一个数字为前缀,1(一)表示 MySQL Shell 连接到的服务器,并针对检测到的每个成员递增。ping.txt仅当 Shell 连接到本地主机上的拓扑成员时,才会生成 Ping 结果 ( )。无法从远程主机请求 ping 结果。allMembers: true不创建额外的报告。所有收集的数据都包含在默认报告中。

  • innodbMutex: [true|false]

    默认false。如果设置为 true,则收集 的输出 SHOW ENGINE INNODB MUTEX。此选项生成以下附加报告:innodb_mutex:列出 的输出 SHOW ENGINE INNODB MUTEX。笔记此选项会影响性能。

  • schemaStats: [true|false]

    默认false。如果设置为 true,则收集架构大小统计信息。此选项生成以下附加报告:schema_object_overview:列出视图的内容 schema_object_overviewtop_biggest_tables:列出所连接服务器上最大的表以及缓慢的性能指标。

  • slowQueries: [true|false]

    默认false。如果设置为 ,则从慢查询日志true中收集慢查询信息。slow_log此选项要求您在目标服务器上 启用 并将其输出配置为TABLE.此选项生成以下附加报告:slow_log:列出表的内容 mysql.slow_log

  • ignoreErrors: [true|false]

    默认false。如果设置为 true,则忽略用于生成诊断报告的查询生成的任何错误。

  • customSql:*array*

    要运行的一个或多个 SQL 语句。例如:{"customSql": ["statement1", "statement2", "statement3"]}

  • customShell: *array*

    要运行的一个或多个 shell(DOS、BOURNE 等)命令。例如:{"customShell": ["command1", "command2", "command3"]}重要的这些命令以运行 MySQL Shell 的用户的权限运行,应谨慎使用。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论