14.18.2 Включение мониторов InnoDB
При включении мониторов для периодического вывода, InnoDB записывает вывод в стандартный поток ошибок сервера mysqld (stderr) примерно каждые 15 секунд.
InnoDB отправляет вывод монитора в stderr, а не в stdout или буферы фиксированного размера, чтобы избежать потенциальных переполнений буфера.
В Windows, stderr направляется в файл журнала по умолчанию, если не задано иное. Если вы хотите направить вывод на окно консоли, а не в лог ошибок, запустите сервер из командной строки в окне консоли с опцией --console. Для получения дополнительной информации см. Раздел 5.4.2.1, «Ведение журнала ошибок в Windows».
В Unix-подобных системах, stderr обычно направляется в терминал, если не задано иное. Для получения дополнительной информации см. Раздел 5.4.2.2, «Ведение журнала ошибок в Unix-подобных системах».
Мониторы InnoDB следует включать только тогда, когда вам действительно необходима информация о мониторах, так как генерация вывода снижает производительность. Кроме того, если вывод мониторов направляется в журнал ошибок, он может стать очень большим, если вы забудете отключить монитор позже.
Для помощи в устранении неполадок, InnoDB временно включает стандартный вывод монитора InnoDB при определенных условиях. Для получения дополнительной информации см. Раздел 14.22, «Устранение неполадок InnoDB».
Вывод монитора InnoDB начинается с заголовка, содержащего метку времени и имя монитора. Например:
=====================================
2014-10-16 18:37:29 0x7fc2a95c1700 INNODB MONITOR OUTPUT
=====================================
Заголовок для стандартного монитора InnoDB (INNODB MONITOR OUTPUT) также используется для монитора блокировок, так как последний генерирует такой же вывод с дополнительной информацией о блокировках.
Системные переменные innodb_status_output и innodb_status_output_locks используются для включения стандартного монитора InnoDB и монитора блокировок InnoDB.
Для включения или отключения мониторов InnoDB необходимо право PROCESS.
Включение стандартного монитора InnoDB
Включите стандартный монитор InnoDB, установив системную переменную innodb_status_output в значение ON.
SET GLOBAL innodb_status_output=ON;
Чтобы отключить стандартный монитор InnoDB, установите innodb_status_output в значение OFF.
При завершении работы сервера переменная innodb_status_output устанавливается в значение по умолчанию OFF.
Включение монитора блокировок InnoDB
Данные монитора блокировок InnoDB выводятся вместе с выводом стандартного монитора InnoDB. Для периодического вывода данных монитора блокировок InnoDB необходимо включить как стандартный монитор InnoDB, так и монитор блокировок InnoDB.
Чтобы включить монитор блокировок InnoDB, установите системную переменную innodb_status_output_locks в значение ON. Для периодического вывода данных монитора блокировок InnoDB необходимо включить как стандартный монитор InnoDB, так и монитор блокировок InnoDB:
SET GLOBAL innodb_status_output=ON;
SET GLOBAL innodb_status_output_locks=ON;
Чтобы отключить монитор блокировок InnoDB, установите innodb_status_output_locks в значение OFF. Установите innodb_status_output в значение OFF, чтобы также отключить стандартный монитор InnoDB.
При завершении работы сервера переменные innodb_status_output и innodb_status_output_locks устанавливаются в значение по умолчанию OFF.
Для включения монитора блокировок InnoDB для вывода SHOW ENGINE INNODB
STATUS необходимо только включить innodb_status_output_locks.
Получение вывода стандартного монитора InnoDB по требованию
В качестве альтернативы включению стандартного монитора InnoDB для периодического вывода, вы можете получить вывод стандартного монитора InnoDB по требованию, используя SQL-запрос SHOW ENGINE
INNODB STATUS, который получает вывод в вашу клиентскую программу. Если вы используете интерактивный клиент mysql, вывод будет более понятен, если вы замените обычный разделитель оператора точкой с запятой на \G:
mysql> SHOW ENGINE INNODB STATUS\G
Вывод SHOW ENGINE INNODB
STATUS также включает данные монитора блокировок InnoDB, если монитор блокировок InnoDB включён.
Направление вывода стандартного монитора InnoDB в файл состояния
Стандартный вывод монитора InnoDB может быть включён и направлен в файл состояния путём указания опции --innodb-status-file при запуске. При использовании этой опции InnoDB создаёт файл с именем innodb_status. в каталоге данных и записывает вывод в него примерно каждые 15 секунд. pid
InnoDB удаляет файл состояния при нормальном завершении работы сервера. Если произойдёт аварийное завершение, файл состояния может потребоваться удалить вручную.
Опция --innodb-status-file предназначена для временного использования, так как генерация вывода может влиять на производительность, а файл innodb_status. может со временем стать очень большим. pid
© 2025 Oracle
Licensed under the GPLv2 License.