MySQL如何清空慢查询文件

月亮的影子倒印在江面,宛如一个害羞的小姑娘,发出淡淡的光芒,桥上星星点点的路灯灯光,像一颗颗小星星,为人们照亮前方的道路,闭上眼睛,风夹带着蟋蟀的歌声,荡漾在路上。

一、概述

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

测试环境:mysql 5.6.21

二、步骤

配置慢查询

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

vim /etc/my.cnf

#slow_query

slow_query_log=1#开启慢查询

slow_query_log_file=/var/lib/mysql/mysql-slow.log #设置慢查询路径

long_query_time=0.01#设置慢查询时间

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

查询慢查询配置是否成功

测试慢查询

use information_schema;

select * from tables;

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

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

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

在线生成慢查询日志文件

1.关闭全局慢查询

SET global slow_query_log=0

查询是否关闭全局慢查询

SHOW VARIABLES LIKE '%query_log%';

设置一个新的慢查询文件

SET global slow_query_log_file='/var/lib/mysql/mysql-slow_new.log'

开启慢查询

SET global slow_query_log=1;

SHOW VARIABLES LIKE '%query_log%';

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

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

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

重启mysql服务

service mysql restart

SHOW VARIABLES LIKE '%query_log%';

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

总结

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

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

您可能有感兴趣的文章
MySQL用truncate命令快速清空一个数据库中的所有表

mysql清空表数据的两种方式和区别解析

Mysql触发器在PHP项目中用来做信息备份、恢复和清空

MySQL清空数据表的方法实例与分析

MySQL查看表和清空表的常用命令总结