Spec-Zone.ru › MariaDB

Плагин журналов ошибок SQL

Плагин SQL_ERROR_LOG собирает ошибки, отправленные клиентам, в файл журнала, определённый параметром sql_error_log_filename, для последующего анализа. Файл журнала может быть переименован, если установлен параметр sql_error_log_rotate.

Ошибки регистрируются по мере их возникновения, и ошибка будет записана в журнал, даже если она была обработана обработчиком условий обработчиком условий и никогда технически не была отправлена клиенту.

В журнал также записываются комментарии, что может облегчить поиск в журнале. Но это возможно только если клиент не удаляет комментарии. Например, командная строка клиента mysql сохраняет комментарии только при запуске с параметром --comments.

Установка плагина

Несмотря на то, что общая библиотека плагина по умолчанию распространяется с MariaDB, сам плагин по умолчанию не устанавливается MariaDB. Существует два способа установки плагина с MariaDB.

Первый метод можно использовать для установки плагина без перезапуска сервера. Вы можете установить плагин динамически, выполнив INSTALL SONAME или INSTALL PLUGIN. Например:

INSTALL SONAME 'sql_errlog';

Второй метод можно использовать для указания серверу загрузить плагин при запуске. Плагин можно установить таким образом, используя параметры --plugin-load или --plugin-load-add. Это можно указать как аргумент командной строки для mysqld, или в соответствующей группе параметров сервера в файле параметров группы параметров в файле параметров. Например:

[mariadb]
...
plugin_load_add = sql_errlog

Удаление плагина

Вы можете удалить плагин динамически, выполнив UNINSTALL SONAME или UNINSTALL PLUGIN. Например:

UNINSTALL SONAME 'sql_errlog';

Если вы установили плагин, используя параметры --plugin-load или --plugin-load-add в соответствующей группе параметров сервера в файле параметров группы параметров в файле параметров, то эти параметры следует удалить, чтобы предотвратить загрузку плагина при следующем перезапуске сервера.

Пример

install plugin SQL_ERROR_LOG soname 'sql_errlog';
Query OK, 0 rows affected (0.00 sec)

use test;
Database changed

set sql_mode='STRICT_ALL_TABLES,NO_ENGINE_SUBSTITUTION';
Query OK, 0 rows affected (0.00 sec)

CREATE TABLE foo2 (id int) ENGINE=WHOOPSIE;
ERROR 1286 (42000): Unknown storage engine 'WHOOPSIE'
\! cat data/sql_errors.log
2013-03-19  9:38:40 msandbox[msandbox] @ localhost [] ERROR 1286: Unknown storage engine 'WHOOPSIE' : CREATE TABLE foo2 (id int) ENGINE=WHOOPSIE

Версии

Версия Статус Введено
1.0 Стабильная MariaDB 10.1.13
1.0 Бета MariaDB 10.0.10
1.0 Альфа MariaDB 5.5.22

Системные переменные

sql_error_log_filename

  • Описание: Имя файла журнала. Переименование при вращении будет именоваться как sql_error_log_filename.001
  • Командная строка: --sql-error-log-filename=value
  • Область действия: Глобальная
  • Динамический: Нет
  • Тип данных: string
  • Значение по умолчанию: sql_errors.log

sql_error_log_rate

  • Описание: Частота записи в журнал. SET sql_error_log_rate=300; означает, что одна из 300 ошибок будет записана в журнал.
    Если sql_error_log_rate равно 0 , регистрация отключена.
    Значение по умолчанию 1 (каждая ошибка регистрируется).
  • Командная строка: --sql-error-log-rate=#
  • Область действия: Глобальная
  • Динамический: Да
  • Тип данных: numeric
  • Значение по умолчанию: 1

sql_error_log_rotate

  • Описание: Это переменная «только для записи». Присвоение TRUE этой переменной принудительно вызывает переименование журнала.
  • Командная строка: --sql-error-log-rotate={0|1}
  • Область действия: Глобальная
  • Динамический: Да
  • Тип данных: boolean
  • Значение по умолчанию: OFF

sql_error_log_rotations

  • Описание: Количество переименований. При переименовании текущий файл журнала сохраняется, и создаётся новый пустой.
    Файлы журналов sql_error_log_rotations хранятся, более старые удаляются.
    Значение по умолчанию 9.
  • Командная строка: --sql-error-log-rotations
  • Область действия: Глобальная
  • Динамический: Нет
  • Тип данных: numeric
  • Значение по умолчанию: 9
  • Диапазон: 1 до 999

sql_error_log_size_limit

  • Описание: Ограничение размера файла журнала. После достижения заданного предела файл журнала переименовывается.
    Ограничение 1 МБ по умолчанию.
  • Командная строка: --sql-error-log-size-limit=#
  • Область действия: Глобальная
  • Динамический: Нет
  • Тип данных: numeric
  • Значение по умолчанию: 1000000
  • Диапазон: 100 до 9223372036854775807

Параметры

sql_error_log

  • Описание: Управляет тем, как сервер должен обрабатывать плагин при запуске сервера.
    • Допустимые значения:
      • OFF - Отключает плагин без удаления его из таблицы mysql.plugins.
      • ON - Включает плагин. Если плагин нельзя инициализировать, сервер всё равно продолжит запуск, но плагин будет отключен.
      • FORCE - Включает плагин. Если плагин нельзя инициализировать, сервер завершит запуск с ошибкой.
      • FORCE_PLUS_PERMANENT - Включает плагин. Если плагин нельзя инициализировать, сервер завершит запуск с ошибкой. Кроме того, плагин нельзя удалить с помощью UNINSTALL SONAME или UNINSTALL PLUGIN во время работы сервера.
    • Подробнее см. в Обзоре плагинов: Настройка активации плагина при запуске сервера.
  • Командная строка: --sql-error-log=value
  • Тип данных: enumerated
  • Значение по умолчанию: ON
  • Допустимые значения: OFF, ON, FORCE, FORCE_PLUS_PERMANENT

Содержимое, воспроизведённое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не предварительно проверяется MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/sql-error-log-plugin/

Spec-Zone.ru

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