Плагин журналов ошибок 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
© 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/