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.