日志文件是MySQL数据库的重要组成部分,包括有6种不同的日志文件:
- 错误日志: -log-err
- 查询日志: -log
- 慢查询日志: -log-slow-queries
- 更新日志: -log-update
- 二进制日志: -log-bin
这些日志可以帮助我们定位 mysqld 内部发生的事件,数据库性能故障,记录数据的变更历史,用户恢复数据库等。本文主要讲解错误日志文件(Error Log)相关内容。
什么是错误日志
错误日志记录了 MySQL Server 每次启动和关闭的详细信息以及运行过程中所有较为严重的警告和错误信息。错误日志的命名通常为「hostname.err」。
PS:「hostname」表示服务器主机名。
在实际工作中,我们不仅通过分析MySQL错误日志来确定MySQL中的慢SQL,还可以通过它分析得到导致业务崩溃和其他故障的根本原因。
查看错误日志的位置
我们可以用--log-error[=file_name]选项来开启 mysql 错误日志,该选项指定 mysqld保存错误日志文件的位置。
对于指定--log-error[=file_name]选项而未给定 file_name 值,mysql 使用错误日志名host_name.err 并在数据目录中写入日志文件。
修改错误日志的位置
错误日志所记录的信息也可以通过log-error和log-warnings来定义,其中
- log_error可定义是否启用错误日志的功能和错误日志的存储位置
- log-warnings可定义是否将警告信息也定义至错误日志中
可以在启动MySQL时,指定log_error的值。如下所示:
了解了MySQL错误日志位置以及如何修改其位置,下面简单举例一个实践操作的过程:
Linux 系统下打开 MySQL 错误日志
1. 进「mysql」安装目录
进入「data」目录(该目录存储的是数据库的数据)。
2. 进入「data」目录后可发现有「mysql」、「test」两个子目录(由此可看出 MySQL 数据存储是按用户定义的不同数据库分开存储的)。
3. 进入「mysql」目录,文件后缀为.err 的文件是运行的错误日志,可以使用 vi 命令打开进行分析。