首页/数据/数据库速查/慢日志落库(log_output=TABLE)与轮转
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条备份与恢复56 条主从复制与高可用53 条
性能与调优57 条
Redis 命令96 条Redis 运维与场景124 条

慢日志落库(log_output=TABLE)与轮转

log_output=TABLE 把慢日志写进 mysql.slow_log 表:可用 SQL 直接聚合;FILE 则要处理轮转(mv 后 FLUSH)。两种模式可兼得(TABLE,FILE)。

数据库速查数据更新于 2026-10-12

落库与查询

落库与查询
SET GLOBAL log_output = 'TABLE';
SELECT COUNT(*) FROM mysql.slow_log;
SELECT sql_text, query_time, rows_examined
FROM mysql.slow_log ORDER BY query_time DESC LIMIT 10;

文件模式轮转(bash)

文件模式轮转(bash)
mv /var/log/mysql/slow.log /var/log/mysql/slow.log.$(date +%F)
mysqladmin -uroot -p flush-logs   # 或 SQL:FLUSH SLOW LOGS;
TABLESQL 可查、免轮转;开销略高、表会胀
FILE开销低;需要日志轮转
双写log_output='TABLE,FILE'
mysql.slow_log 也是表:长期堆积同样吃空间,定期清理或改用文件模式。

易错点

  • 轮转只 mv 不 flush:mysqld 继续写旧文件句柄,新文件长期为空
  • TABLE 模式被高频查询压出锁:监控查询别把 slow_log 当业务表扫

数据来源与参考

  • MySQL 8.0 Reference Manual: log_output
  • MySQL 8.0 Reference Manual: FLUSH LOGS

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌