Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  Error Logging to the System Log

7.4.2.8 错误日志记录到系统日志

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

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

要启用系统日志 sink,首先加载 sink 组件,然后修改 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 节,“错误日志配置” 中的说明。这些说明也适用于其他错误日志系统变量。

Note

对于 MySQL 8.3 配置,必须显式启用错误日志记录到系统日志。这与 MySQL 5.7 及更早版本不同,在这些版本中,Windows 上的错误日志记录到系统日志是默认启用的,而在所有平台上都不需要加载组件。

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

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

  • 标记为 ErrorWarningNote 的条目将被写入事件日志,但不包括来自个别存储引擎的信息语句。

  • 事件日志条目具有源 MySQL(或 MySQL-tag 如果 syseventlog.tag 被定义为 tag)。

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

  • syseventlog.facilitysyslog 消息的默认设施是 daemon。设置此变量以指定不同的设施。

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

  • syseventlog.tag: 这个变量定义了添加到服务器标识符 (mysqld) 中的标签,在 syslog 消息中。如果定义了,标签将以leading hyphen追加到标识符。

MySQL 使用自定义标签 系统 来记录重要的系统消息,例如启动、关闭和一些重要的设置变化。在不支持自定义标签的日志中,包括 Windows 的事件日志和 Unix 及 Unix-like 系统中的 syslog,系统消息将被分配给信息优先级别的标签。然而,这些消息将被记录到日志中,即使 MySQL 的 log_error_verbosity 设置通常排除信息级别的消息。

当日志 sink 必须回退到 信息 标签,而不是 系统 标签时,并且日志事件在 MySQL 服务器外部被进一步处理(例如,通过 syslog 配置进行过滤或转发),这些事件可能默认被次要应用程序处理为 信息 优先级,而不是 系统 优先级。