mysql数据库运行过程中会产生多种类型的日志,不同类型的日志作用不同,查看方式也存在差异,掌握这些日志的查看方法能够帮助用户更好地维护数据库、排查故障。

mysql常见日志类型
mysql的日志主要分为以下几类,用户可以根据自身需求查看对应类型的日志:
- 错误日志:记录mysql启动、运行、停止过程中出现的所有错误信息,是排查数据库启动失败、运行异常的首选日志。
- 慢查询日志:记录执行时间超过指定阈值的sql语句,用于优化查询性能。
- 二进制日志(binlog):记录所有数据变更操作,用于数据恢复、主从复制场景。
- 查询日志:记录所有到达mysql服务器的sql语句,默认关闭,开启会影响性能。
- 中继日志:主从复制场景中从库用来存储主库同步过来的binlog内容,只在从库存在。
查看错误日志(error_log)
查看错误日志存储路径
可以先登录mysql客户端,执行如下命令查看错误日志的存储位置:
-- 查看错误日志文件路径 SHOW VARIABLES LIKE 'log_error';
执行后会返回类似log_error的值为/var/log/mysql/error.log的结果,这就是错误日志的存储路径。
查看错误日志内容
如果是在linux系统中,可以直接使用tail、cat等命令查看日志内容,示例如下:
# 查看错误日志最后100行内容 tail -n 100 /var/log/mysql/error.log # 实时查看错误日志新增内容 tail -f /var/log/mysql/error.log
如果是windows系统,可以直接打开对应的日志文件,用记事本等文本工具查看。
查看慢查询日志(slow_query_log)
开启慢查询日志
慢查询日志默认是关闭的,需要先开启,执行如下命令:
-- 开启慢查询日志 SET GLOBAL slow_query_log = 'ON'; -- 设置慢查询阈值,单位秒,执行时间超过该值的sql会被记录 SET GLOBAL long_query_time = 2; -- 查看慢查询日志存储路径 SHOW VARIABLES LIKE 'slow_query_log_file';
查看慢查询日志内容
慢查询日志是文本格式,可以直接查看文件内容,也可以用mysql自带的mysqldumpslow工具分析,示例如下:
# 查看慢查询日志文件内容 cat /var/log/mysql/slow.log # 使用mysqldumpslow分析慢查询,按查询时间排序取前10条 mysqldumpslow -s t -t 10 /var/log/mysql/slow.log
查看二进制日志(binlog)
查看binlog相关配置
先查看binlog是否开启以及存储路径,执行如下命令:
-- 查看binlog是否开启 SHOW VARIABLES LIKE 'log_bin'; -- 查看binlog存储目录 SHOW VARIABLES LIKE 'log_bin_basename';
查看binlog内容
binlog是二进制格式,无法直接用文本工具查看,需要使用mysqlbinlog工具解析,示例如下:
# 查看指定binlog文件内容 mysqlbinlog /var/lib/mysql/binlog.000001 # 查看指定时间范围内的binlog内容 mysqlbinlog --start-datetime="2024-05-01 00:00:00" --stop-datetime="2024-05-01 12:00:00" /var/lib/mysql/binlog.000001
查看查询日志
查询日志默认关闭,开启后可以查看所有执行的sql语句,开启和查看方式如下:
-- 开启通用查询日志 SET GLOBAL general_log = 'ON'; -- 查看查询日志存储路径 SHOW VARIABLES LIKE 'general_log_file';
查询日志同样是文本格式,直接打开对应路径的文件即可查看所有执行的sql记录。
注意事项
- 查看日志文件需要对应的文件读取权限,尤其是linux系统下要注意文件权限设置。
- 日志文件会不断增大,需要定期清理或者设置日志轮转,避免占用过多磁盘空间。
- 生产环境不要长期开启通用查询日志,会影响数据库性能。
- 查看binlog时注意mysql的版本,不同版本的
mysqlbinlog工具参数可能存在差异。
mysql日志查看binlogerror_logslow_query_log修改时间:2026-06-25 06:30:29