Spec-Zone.ru › MySQL Shell 9.2

12.9.1 Утилита collectDiagnostics

Утилита отладки и диагностики util.debug.collectDiagnostics() позволяет собирать диагностические данные о вашем сервере MySQL.

  • О утилите

  • Требования и ограничения

  • Запуск утилиты

  • Параметры для сбора диагностики

О утилите

Отчёт о диагностике генерируется в виде zip-файла в локальный каталог или по указанному пути.

util.debug.collectDiagnostics() позволяет собирать необработанные диагностические данные с автономных серверов, узлов репликации, InnoDB Clusters и систем баз данных MySQL HeatWave Service.

Утилита генерирует файлы в формате TSV и YAML.

Требования и ограничения

К экспорту с помощью утилиты сбора диагностики применяются следующие требования:

  • Требуется MySQL 5.7 или более поздняя версия.

  • Утилита должна запускаться от имени root.

Запуск утилиты

Утилита диагностики имеет следующую подпись:

util.debug.collectDiagnostics("path/",{options})
  • "path": вы можете указать путь, имя файла или путь и имя файла.

    Если имя файла не указано, файл записывается в указанное местоположение и используется имя файла mysql-diagnostics-YYYYMMDD-HHMMSS.zip.

    Если имя файла указано без пути, файл записывается в текущий каталог.

  • options: словарь параметров, который можно опустить, если он пуст. См. Параметры для сбора диагностики для доступных параметров.

    Если параметры не определены, утилита генерирует набор диагностических данных по умолчанию. Каждый параметр добавляет один или несколько отчётов в вывод.

Следующий пример, запущенный 6 апреля 2022 года в 10:02:06, генерирует набор диагностических данных по умолчанию, mysql-diagnostics-20220406-100206.zip, в каталоге C:/Temp/:

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

Следующий пример генерирует набор диагностических данных по умолчанию в файле с именем myDiagnostics.zip в каталоге C:/Temp/:

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

Конечный слэш обязателен для определения пути. Если его опустить, утилита создаст файл с именем Temp.zip в указанном пути. C:/Temp.zip, например. Перезаписать существующий файл невозможно.

Информация о хосте (host_info) собирается только с localhost. Невозможно собрать информацию о хосте с удалённого хоста. Если ваш сервер MySQL работает на удалённом хосте, собирается только информация о сервере MySQL.

На платформах Microsoft Windows информация о хосте собирается с помощью утилиты MSInfo. Это запускает дополнительное диалоговое окно прогресса во время работы утилиты.

Параметры для сбора диагностики

allMembers: [true|false]

Значение по умолчанию false. Если установлено true, генерирует диагностику для всех узлов управляемой топологии, такой как InnoDB Cluster, и посылает ping каждому узлу топологии. Каждая диагностика имеет префикс, 1 (один) для сервера, к которому подключена MySQL Shell, и увеличивается для каждого обнаруженного узла.

Результаты ping (ping.txt) генерируются только если Shell подключён к узлу топологии на localhost. Невозможно запросить результаты ping с удалённого хоста.

allMembers: true не создаёт дополнительных отчётов. Все собранные данные включены в стандартные отчёты.

innodbMutex: [true|false]

Значение по умолчанию false. Если установлено true, собирает вывод команды .

Этот параметр генерирует следующий дополнительный отчёт:

  • innodb_mutex: отображает вывод команды .

Примечание

Этот параметр может повлиять на производительность.

schemaStats: [true|false]

Значение по умолчанию false. Если установлено true, собирает статистику размера схем.

Этот параметр генерирует следующие дополнительные отчёты:

  • schema_object_overview: отображает содержимое представления.

  • top_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

Одна или несколько команд оболочки (DOS, BOURNE и т. д.) для выполнения.

Например:

            {"customShell": ["command1", "command2", "command3"]}
          
Важно

Эти команды выполняются с правами пользователя, запускающего MySQL Shell, и должны использоваться с осторожностью.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-shell-9.2-en/mysql-shell-utilities-debug-diagnostics.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API