Обзор журналов MariaDB
В MariaDB существует множество переменных, которые можно использовать для определения, что и когда записывать в журнал.
Эта статья предоставит вам обзор различных журналов и способы включения/отключения ведения журнала в них.
Обратите внимание, что у движков хранилища тоже могут быть свои журналы: например, InnoDB содержит журнал отката (Undo Log) и журнал повторения (Redo Log), которые используются для отката транзакций и восстановления после сбоя. Однако на этой странице перечислены только журналы сервера MariaDB.
Журнал ошибок
- Включён всегда
- Обычно находится в каталоге данных, но в некоторых дистрибутивах может быть перемещён в другое место.
- Здесь регистрируются все критические ошибки.
- Предупреждения можно записывать в журнал, задав значение параметра log_warnings.
- С помощью опции mysqld_safe
--syslogможно дублировать сообщения в системный журнал syslog.
Журнал общих запросов
- Включается с помощью опции --general-log
- Записывает все запросы в файл или таблицу (файл или таблицу).
- Полезен для отладки или аудита запросов.
- Суперпользователь может отключить ведение журнала для соединения, задав значение SQL_LOG_OFF в 1.
Журнал медленных запросов
- Включается при запуске mysqld с опцией --slow-query-log
- Записывает все запросы в файл или таблицу (файл или таблицу).
- Полезен для поиска запросов, вызывающих проблемы производительности.
- Записывает все запросы, выполнение которых занимает более long_query_time секунд.
- Можно выбрать, что записывать в журнал, используя опции --log-slow-admin-statements, --log-slow-slave-statements, log_slow_filter или log_slow_rate_limit.
- Можно изменить, что записывать в журнал, задав значение log_slow_verbosity.
- Можно отключить его глобально, задав значение global.slow_query_log в 0
- В версии 10.1 можно отключить его для соединения, задав значение local.slow_query_log в 0.
Бинарный журнал
- Включается при запуске mysqld с опцией --log-bin
- Используется на машинах, которые являются или могут стать мастерами репликации.
- Необходим для восстановления по состоянию на определённую точку времени.
- Файлы бинарного журнала в основном используются репликацией и могут также использоваться с mariadb-binlog для применения на резервной копии, чтобы обновить базу данных.
- Можно указать, что записывать в журнал, используя --binlog-ignore-db=имя_базы_данных или --binlog-do-db=имя_базы_данных.
- Суперпользователь может отключить ведение журнала для соединения, установив SQL_LOG_BIN в 0. Однако, пока это значение равно 0, изменения, внесённые в этом соединении, не будут реплицированы на сервера-следующие.
- Примеры см. в статье Использование и поддержка бинарного журнала.
Примеры
Если вы знаете, что ваш следующий запрос будет медленным, и вы не хотите регистрировать его в журнале медленных запросов, сделайте следующее:
SET LOCAL SLOW_QUERY_LOG=0;
Если вы являетесь суперпользователем, выполняющим задачу по пакетному ведению журнала, которую вы не хотите регистрировать (например, mariadb-dump), сделайте следующее:
SET LOCAL SQL_LOG_OFF=1, LOCAL SLOW_QUERY_LOG=0;
mariadb-dump (ранее mysqldump) начиная с MariaDB 10.1 автоматически добавит эту запись в ваш файл дампов, если вы запустите его с опцией --skip-log-queries.
См. также
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/overview-of-mariadb-logs/