Spec-Zone.ru › MySQL 9.2

7.4.2.2 Конфигурация по умолчанию назначения лога ошибок

В этом разделе описываются параметры сервера, которые конфигурируют целевое расположение лога ошибок по умолчанию, которое может быть консолью или именованным файлом. Также указано, какие компоненты «потоков логов» (log sink) основывают собственное место назначения вывода на назначение по умолчанию.

В этом обсуждении “консоль” означает stderr, стандартный вывод ошибок. Это ваша терминальная или консольная окно, если стандартный вывод ошибок не был перенаправлен на другое место назначения.

Сервер интерпретирует параметры, определяющие целевое расположение лога ошибок по умолчанию несколько по-разному для систем Windows и Unix. Убедитесь, что вы настраиваете назначение, используя информацию, соответствующую вашей платформе. После того, как сервер интерпретирует параметры целевого расположения лога ошибок по умолчанию, он устанавливает системную переменную log_error, чтобы указать назначение по умолчанию, которое влияет на то, где несколько компонентов потоков логов записывают сообщения об ошибках. В следующих разделах рассматриваются эти темы.

  • Назначение лога ошибок по умолчанию в Windows

  • Назначение лога ошибок по умолчанию в Unix и Unix-подобных системах

  • Как назначение лога ошибок по умолчанию влияет на потоки логов

Назначение лога ошибок по умолчанию в Windows

В Windows, mysqld использует параметры --log-error, --pid-file и --console, чтобы определить, является ли целевое расположение лога ошибок по умолчанию консолью или файлом, и, если файлом, то имя файла:

  • Если задан --console, целевое расположение по умолчанию — консоль. (--console имеет приоритет над --log-error, если оба указаны, и следующие пункты, касающиеся --log-error, не применяются.)

  • Если --log-error не указан или указан без указания имени файла, целевое расположение по умолчанию — файл с именем host_name.err в каталоге данных, если не указан параметр --pid-file. В этом случае имя файла — это имя базового файла PID с суффиксом .err в каталоге данных.

  • Если --log-error указан для именования файла, целевое расположение по умолчанию — этот файл (с добавленным суффиксом .err, если имя не имеет суффикса). Расположение файла находится в каталоге данных, если не указан абсолютный путь для указания другого расположения.

Если целевое расположение лога ошибок по умолчанию — консоль, сервер устанавливает системную переменную log_error в значение stderr. В противном случае целевое расположение по умолчанию — файл, и сервер устанавливает log_error в имя файла.

Назначение лога ошибок по умолчанию в Unix и Unix-подобных системах

В Unix и Unix-подобных системах mysqld использует параметр --log-error для определения того, является ли целевое расположение лога ошибок по умолчанию консолью или файлом, и, если файлом, то имя файла:

  • Если --log-error не указан, целевое расположение по умолчанию — консоль.

  • Если --log-error указан без указания имени файла, целевое расположение по умолчанию — файл с именем host_name.err в каталоге данных.

  • Если --log-error указан для именования файла, целевое расположение по умолчанию — этот файл (с добавленным суффиксом .err, если имя не имеет суффикса). Расположение файла находится в каталоге данных, если не указан абсолютный путь для указания другого расположения.

  • Если --log-error указан в файле параметров в разделе [mysqld], [server] или [mysqld_safe], на системах, которые используют mysqld_safe для запуска сервера, mysqld_safe находит и использует параметр, передавая его mysqld.

Примечание

Обычно при установке пакетов Yum или APT конфигурируется расположение файла лога ошибок в /var/log с параметром, подобным log-error=/var/log/mysqld.log, в файле конфигурации сервера. Удаление имени пути из параметра приводит к использованию файла host_name.err в каталоге данных.

Если целевое расположение лога ошибок по умолчанию — консоль, сервер устанавливает системную переменную log_error в значение stderr. В противном случае целевое расположение по умолчанию — файл, и сервер устанавливает log_error в имя файла.

Как назначение лога ошибок по умолчанию влияет на потоки логов

После интерпретации сервером параметров конфигурации назначения лога ошибок, он устанавливает системную переменную log_error для указания целевого расположения лога ошибок по умолчанию. Компоненты потоков логов могут основывать собственное назначение вывода на значение log_error, или определять своё назначение независимо от log_error.

Если log_error имеет значение stderr, то целевое расположение лога ошибок по умолчанию — консоль, и потоки логов, которые основывают своё назначение вывода на целевом расположении по умолчанию, также пишут в консоль:

  • log_sink_internal, log_sink_json, log_sink_test: Эти потоки логов записывают в консоль. Это верно даже для таких потоков логов, как log_sink_json, которые могут быть включены несколько раз; все экземпляры пишут в консоль.

  • log_sink_syseventlog: Этот поток логов записывает в системный журнал, независимо от значения log_error.

Если log_error не равно stderr, то целевое расположение лога ошибок по умолчанию — файл, и log_error указывает имя файла. Потоки логов, которые основывают своё назначение вывода на целевом расположении по умолчанию, используют имя файла для наименования выходного файла. (Поток может использовать точно это имя или его вариацию.) Предположим, что значение log_error равно file_name. Тогда потоки логов используют имя, например так:

  • log_sink_internal, log_sink_test: Эти потоки логов записывают в file_name.

  • log_sink_json: Последовательные экземпляры этого потока логов, указанные в значении log_error_services, записывают в файлы с именами file_name плюс порядковый суффикс .NN.json: file_name.00.json, file_name.01.json и так далее.

  • log_sink_syseventlog: Этот поток логов записывает в системный журнал, независимо от значения log_error.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/error-log-destination-configuration.html

Spec-Zone.ru

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