Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


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

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

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

本节描述了使用内置过滤器log_filter_internal和系统日志汇聚点log_sink_syseventlog来配置错误日志记录,以立即生效且在后续服务器启动时生效。关于错误日志配置的总体信息,请参阅第7.4.2.1节,“Error Log Configuration”

要启用系统日志汇聚点,首先加载汇聚点组件,然后修改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节,“Error Log Configuration”。这些指令也适用于其他错误日志系统变量。

Note

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

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

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

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

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

  • syseventlog.facilitysyslog消息的默认facility是daemon。将该变量设置为指定不同的facility。

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

  • syseventlog.tag:该变量定义要添加到服务器标识符(mysqld)中的tag。 如果定义,tag将被追加到标识符的开头。

MySQL 使用自定义标签系统来记录非错误情况的重要系统消息,例如启动、关闭和一些设置的重要变化。在不支持自定义标签的日志中,包括 Windows 的 Event Log 和 Unix 和 Unix 类似系统上的 syslog,系统消息将被分配到信息优先级对应的标签。然而,这些消息仍然会被记录到日志中,即使 MySQL 的log_error_verbosity设置通常排除信息级别的消息。

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