MySQL如何清空慢查询文件

时间:2022-08-28 10:02:23

一、概述

本章主要写当慢查询文件很大的时候怎样在线生成一个新的慢查询文件。

测试环境:mysql 5.6.21

二、步骤

配置慢查询

默认的my.cnf文件在/etc/目录下

vim /etc/my.cnf

?
1
2
3
4
5
6
7
#slow_query
 
slow_query_log=1#开启慢查询
 
slow_query_log_file=/var/lib/mysql/mysql-slow.log #设置慢查询路径
 
long_query_time=0.01#设置慢查询时间

配置完要重启mysql服务才生效

查询慢查询配置是否成功

MySQL如何清空慢查询文件

MySQL如何清空慢查询文件

测试慢查询

?
1
2
3
use information_schema;
 
select * from tables;

MySQL如何清空慢查询文件

语句执行时间花了:1.1秒,返回了314行记录;

查看慢查询文件:cat mysql-slow.log

MySQL如何清空慢查询文件

慢查询日志文件中记录了每一天慢查询记录,每一条记录都是以Time:开头;记录了包含登入信息,查询所花的时间,锁花的时间,返回的行数,扫描的记录数,执行的语句。

在线生成慢查询日志文件

1.关闭全局慢查询

 

复制代码 代码如下:
SET global slow_query_log=0

查询是否关闭全局慢查询

 

复制代码 代码如下:
SHOW VARIABLES LIKE '%query_log%';

MySQL如何清空慢查询文件

设置一个新的慢查询文件

 

复制代码 代码如下:
SET global slow_query_log_file='/var/lib/mysql/mysql-slow_new.log'

开启慢查询

 

复制代码 代码如下:
SET global slow_query_log=1;

 

复制代码 代码如下:
SHOW VARIABLES LIKE '%query_log%';

MySQL如何清空慢查询文件

MySQL如何清空慢查询文件

在慢查询路径中可以看到生成了一个新的慢查询文件。

后面的慢查询信息会记录到新的日志文件当中,

这时我们可以mv以前的慢查询文件进行归档了。

重启mysql服务

service mysql restart

 

复制代码 代码如下:
SHOW VARIABLES LIKE '%query_log%';

MySQL如何清空慢查询文件

当重启mysql服务之后,慢日志文件会重新变成之前的在my.cnf里面设置的文件,所以如果你想要重启服务之后慢日志文件还是刚才设置的mysql-slow_new.log的话你就需要在修改全局设置的同时再修改my.cnf文件,这样就能保证重启之后文件还是之前修改的文件。

总结

配置慢查询对平时收集性能差的语句很有帮助,也有很多工具专门来分析慢查询日志的,其中percona-toolkit就是一个很不错的分析慢查询的工具,如果没有使用可以去了解一下。

以上就是本文的全部内容,希望对大家的学习有所帮助。