文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF(美国 Letter) - 39.9 MB
PDF(A4) - 40.0 MB
手册页(TGZ) - 258.5 KB
手册页(Zip) - 365.5 KB
信息(Gzip) - 4.0 MB
信息(Zip) - 4.0 MB


MySQL 8.4 参考手册  /  ...  /  将错误记录到系统日志

7.4.2.8 将错误记录到系统日志

mysqld 可以将错误日志写入系统日志(Windows 上的事件日志,以及 Unix 和类 Unix 系统上的 syslog)。

本节介绍如何使用内置过滤器 log_filter_internal 和系统日志接收器 log_sink_syseventlog 配置错误日志记录,使其立即生效并用于后续的服务器启动。有关配置错误日志记录的常规信息,请参阅 第 7.4.2.1 节“错误日志配置”

要启用系统日志接收器,请先加载接收器组件,然后修改 log_error_services 值。

INSTALL COMPONENT 'file://component_log_sink_syseventlog';
SET PERSIST log_error_services = 'log_filter_internal; log_sink_syseventlog';

要设置 log_error_services 以在服务器启动时生效,请使用 第 7.4.2.1 节“错误日志配置” 中的说明。这些说明也适用于其他错误日志记录系统变量。

注意

将错误记录到系统日志可能需要额外的系统配置。请查阅您平台上的系统日志文档。

在 Windows 上,写入应用程序日志中的事件日志的错误消息具有以下特征:

  • 标记为 错误警告注意 的条目将写入事件日志,但诸如来自各个存储引擎的信息性语句之类的消息不会写入。

  • 事件日志条目的来源为 MySQL(如果 syseventlog.tag 定义为 tag,则为 MySQL-tag)。

在 Unix 和类 Unix 系统上,记录到系统日志使用 syslog。以下系统变量会影响 syslog 消息:

  • syseventlog.facilitysyslog 消息的默认工具是 daemon。设置此变量以指定其他工具。

  • syseventlog.include_pid:是否在 syslog 输出的每一行中包含服务器进程 ID。

  • syseventlog.tag:此变量定义了一个标签,用于添加到 syslog 消息中的服务器标识符 (mysqld) 中。如果定义,则标签将附加到标识符,并带有一个前导连字符。

MySQL 对有关非错误情况的重要系统消息(例如启动、关闭以及对设置的一些重大更改)使用自定义标签“系统”。在不支持自定义标签的日志(包括 Windows 上的事件日志以及 Unix 和类 Unix 系统上的 syslog)中,系统消息被分配了用于信息优先级级别的标签。但是,即使 MySQL log_error_verbosity 设置通常会排除信息级别的消息,也会将这些消息打印到日志。

当日志接收器必须以这种方式回退到标签“信息”而不是“系统”,并且日志事件在 MySQL 服务器外部进一步处理(例如,由 syslog 配置过滤或转发)时,默认情况下,辅助应用程序可能会将这些事件处理为“信息”优先级,而不是“系统”优先级。