前置知识: MySQL

日志系统

1 minIntermediate2026/6/14

MySQL日志系统:错误日志、通用查询日志、慢查询日志的配置、查看与运维

1. MySQL 日志体系

日志用途默认状态
错误日志启动/运行/关闭错误开启
通用查询日志所有SQL语句关闭
慢查询日志慢SQL语句关闭
二进制日志复制与恢复关闭
中继日志从库复制从库开启

2. 错误日志

-- 查看错误日志位置
SHOW VARIABLES LIKE 'log_error';

-- 配置
SET GLOBAL log_error = '/var/log/mysql/error.log';
SET GLOBAL log_error_verbosity = 3;  -- 1=ERROR, 2=ERROR+WARNING, 3=ERROR+WARNING+NOTE

-- 查看错误日志
-- Linux: tail -f /var/log/mysql/error.log
-- MySQL 8.0:
SHOW VARIABLES LIKE 'log_error';

3. 通用查询日志

-- 记录所有SQL语句(性能影响大,通常关闭)
SET GLOBAL general_log = ON;
SET GLOBAL general_log_file = '/var/log/mysql/general.log';

-- 查看状态
SHOW VARIABLES LIKE 'general_log%';

4. 慢查询日志

SET GLOBAL slow_query_log = ON;
SET GLOBAL long_query_time = 1;
SET GLOBAL log_queries_not_using_indexes = ON;
SET GLOBAL slow_query_log_file = '/var/log/mysql/slow.log';

5. 日志管理最佳实践

-- 1. 错误日志始终开启
-- 2. 通用查询日志仅在调试时开启
-- 3. 慢查询日志生产环境建议开启
-- 4. 使用 logrotate 管理日志文件大小
-- 5. 定期分析慢查询日志