5.4.2.1 Windows 上的错误记录

在 Windows 上,mysqld使用--log-error--pid-file--console选项来确定mysqld是否将错误日志写入控制台或文件,如果是文件,则写入文件名:

  • 如果给出--console,则mysqld将错误日志写入控制台。 (如果同时提供了--console,则优先于--log-error,关于--log-error的以下各项均不适用。在 MySQL 5.7 之前,这是相反的:--log-error优先于--console。)

  • 如果未指定--log-error或未指定文件名而指定--log-error,则除非指定--pid-file选项,否则mysqld会将错误日志写入数据目录中名为host_name.err的文件。在这种情况下,文件名是 PID 文件的基本名称,在数据目录中后缀为.err

  • 如果使用--log-error命名文件,则mysqld会将错误日志写入数据目录下的该文件(如果名称没有后缀,则添加.err后缀),除非给出绝对路径名以指定其他位置。

如果服务器将错误日志写入控制台,则会将log_error系统变量设置为stderr。否则,服务器将错误日志写入文件,并将log_error设置为文件名。

另外,服务器默认情况下会将事件和错误消息写入应用程序日志中的 Windows 事件日志:

  • 标记为ErrorWarningNote的条目将写入事件日志,但不会写入消息(例如来自各个存储引擎的信息语句)。

  • 事件日志条目的来源为MySQL

  • 写入事件日志的信息由log_syslog系统变量控制,该变量在 Windows 上默认为启用。参见第 5.4.2.3 节“错误记录到系统日志”