mysql-slow.log-慢查询日志清理 慢查询日志查询

作为运维人员,磁盘空间也是监控中重要的一个环节,数据库服务器磁盘空间不足告警,有时候不是因为业务数据量大,而是因为开启了慢查询,如果my.cnf文件中log-queries-not-using-indexes = 1,那么慢查询记录的日志中就不完全是慢查询日志,它包含了查询中没有引用索引的语句,久而久之慢查询日志文件会越来越大,如下为清理慢查询日志,以及关闭未走索引查询记录slow log。

安全清空在线慢查询日志slowlog的流程

查看慢查询日志状态

mysql> show variables like '%slow%';

关闭慢查询日志

mysql> set global slow_query_log=0;

mysql> show variables like '%slow%';

指定新的慢查询日志文件路径

mysql> set global slow_query_log_file='/data/mysqldata3307/log/slow-query20210531.log';

开启慢查询日志

mysql> set global slow_query_log=1;

mysql> show variables like '%slow%';

在新的慢查询日志文件中,检查慢查询语句

mysql> select sleep(5) as a, 1 as b;

more /data/mysqldata3307/log/slow-query20210531.log

备份原有慢查询日志到新的目录
mv /data/mysqldata3307/log/slow-query20210531.log /bakup/old-slow.log.bak

关闭未走索引查询语句记录slow log

set global log_queries_not_using_indexes = 'off';