“MySQL的错误记录”的版本间差异

来自Wikioe
跳到导航 跳到搜索
(Eijux移动页面MySQL在Windows上的错误记录MySQL的错误记录,不留重定向)
 
(没有差异)

2021年3月23日 (二) 20:36的最新版本


MySQL在Windows上的错误记录

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

  1. 如果给出“--console”,则mysqld将错误日志写入控制台。(如果同时提供了--console,则优先于--log-error,关于--log-error的以下各项均不适用。在 MySQL 5.7 之前,这是相反的:--log-error优先于--console。)
  2. 如果:未指定“--log-error”、或使用“--log-error”而未指定文件名,则除非指定“--pid-file”选项,否则mysqld会将错误日志写入数据目录中名为“host_name.err”的文件。(在这种情况下,文件名是 PID 文件的基本名称,在数据目录中后缀为.err)
    如下,名为“MSI.err”的文件:
    MySQL错误日志文件.png
  3. 如果使用“--log-error=file_name”,则mysqld会将错误日志写入数据目录下的该文件(如果名称没有后缀,则添加.err后缀),除非给出绝对路径名以指定其他位置。


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


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

  1. 标记为“Error”,“Warning”和“Note”的条目将写入事件日志,但不会写入消息(例如来自各个存储引擎的信息语句)。
  2. 事件日志条目的来源为MySQL。
  3. 写入事件日志的信息由“log_syslog”系统变量控制,该变量在 Windows 上默认为启用。


MySQL在Unix和类Unix上的错误记录

在 Unix 和类似 Unix 的系统上,mysqld使用“--log-error”选项来确定mysqld是将错误日志写入控制台还是文件,如果写入文件,则将文件名写入文件:

  1. 如果未提供“--log-error”,则mysqld将错误日志写入控制台。
  2. 如果给出“--log-error”而未指定文件名,则mysqld将错误日志写入数据目录中名为host_name.err的文件中。
  3. 如果使用“--log-error=file_name”,则mysqld会将错误日志写入数据目录下的该文件(如果名称没有后缀,则添加.err后缀),除非给出绝对路径名以指定其他位置。


如果在“[mysqld]”,“[server]”或“[mysqld_safe]”节的选项文件中提供了“--log-error”,则mysqld_safe查找并使用该选项,并将其传递给mysqld。

  • 通常,Yum 或 APT 软件包安装会在服务器配置文件中的“/var/log”下使用诸如“log-error=/var/log/mysqld.log”之类的选项来配置错误日志文件位置。从选项中删除文件名将导致使用数据目录中的host_name.err文件。


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