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就是一个很不错的分析慢查询的工具,如果没有使用可以去了解一下。

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

(0)

相关推荐

  • mysql5.7.10开启慢查询详解

    如下所示: #在/etc/my.cnf中的[mysqld]中加入如下代码: slow-query-log=On slow_query_log_file=/data/mysql/log/mysql_slow_query.log long_query_time=2 log_queries_not_using_indexes = ON 第一句是开启慢查询 第二句是用来定义慢查询日志的路径 第三句是用来定义查过多少秒的查询算是慢查询,我这里定义的是2秒 第四句就是记录下没有使用索引的query 以上这篇

  • MySQL慢查询之开启慢查询

    一.慢查询有什么用? 它能记录下所有执行超过long_query_time时间的SQL语句, 帮你找到执行慢的SQL, 方便我们对这些SQL进行优化. 二.参数说明 slow_query_log 慢查询开启状态 slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设置为MySQL的数据存放目录) long_query_time 查询超过多少秒才记录 三.设置步骤 1.查看慢查询相关参数 mysql> show variables like

  • 详解mysql数据库如何开启慢查询日志

    数据库开启慢查询日志 修改配置文件 在配置文件my.ini中加上下面两句话 log-slow-queries = C:\xampp\mysql_slow_query.log long_query_time=3 第一句使用来定义慢查询日志的路径(若是linux系统,会涉及权限问题) 第二句使用来定义用时超过过多少秒的查询是慢查询,单位:秒. 查看配置验证是否配置成功: //查看慢查询时间,单位:s show variables like "long_query_time"; //查看慢查

  • MySQL启用慢查询日志记录方法

    在MySQL中,慢查询的界定时间是由MySQL内置参数变量long_query_time来指定的,其默认值为10(单位:秒),我们可以通过show variables like 'long_query_time';指令来查看该参数变量的信息: long_query_time的默认值为10秒 不过,在程序开发过程中,我们认为慢速查询的界定时间并没有10秒这么长,依据不同项目的不同需求,我们一般将慢查询的界定时间设定为1~5秒之间.我们可以使用指令set long_query_time = 秒数来设

  • 一次MySQL慢查询导致的故障

    我们知道分析MySQL语句查询性能的方法除了使用EXPLAIN 输出执行计划,还可以让MySQL记录下查询超过指定时间的语句,我们将超过指定时间的SQL语句查询称为"慢查询". 一. 起因 研发反应某台数据库僵死,后面的会话要么连接不上,要么要花费大量的时间返回结果,哪怕是一个简单的查询. 二. 处理 首先去监控平台查看服务器以及数据库状态,发现这台数据库有大量的慢查询.继续看服务器监控,CPU 平均使用率较高,IO 读写平均值正常.登录到 MySQL,使用 SHOW PROCESSL

  • mysqldumpslow用法示例(慢查询)

    mysqldumpslow是mysql自带的用来分析慢查询的工具 经常使用几个命令 -s ORDER what to sort by (al, at, ar, c, l, r, t), 'at' is default -t NUM just show the top n queries -g PATTERN grep: only consider stmts that include this string -r Reverse the sort order -s,是order的顺序,主要有 c

  • Mysql慢查询操作梳理总结

    Mysql慢查询解释 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中.long_query_time的默认值为10,意思是运行10S以上的语句.默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响.慢查询日志支持将日志记录写入文件,也支持将

  • 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服务才生效 查询慢查询配

  • python+tkinter+mysql做简单数据库查询界面

    目录 一.准备工作: 二.代码: 三.界面 四.总结 一.准备工作: 1.安装mysql3.7,创建一个test数据库,创建student表,创建列:(列名看代码),创建几条数据 (以上工作直接用navicat for mysql工具完成) 二.代码: import sys import tkinter as tk import mysql.connector as sql #--------------------查询函数--------------------------- def sql_

  • PHP实现批量清空删除指定文件夹所有内容的方法

    本文实例讲述了PHP实现批量清空删除指定文件夹所有内容的方法.分享给大家供大家参考,具体如下: cleancache.php: <?php // 清文件缓存 $dirs = array( realpath(dirname(__FILE__) . '/../data/cache_data'), realpath(dirname(__FILE__) . '/../data/cache_file'), realpath(dirname(__FILE__) . '/../data/cache_view'

  • MySQL开启Slow慢查询的方法示例

    前言 在mysql中slow query log是一个非常重要的功能,我们可以开启mysql的slow query log功能,这样就可以分析每条sql执行的状态与性能从而进行优化了. 本文就来给大家介绍了关于MySQL开启Slow慢查询的相关内容,下面话不多说,来一起看看详细的介绍吧 方法如下: 1:登录数据库查看是否已经开启了Slow慢查询: mysql> show variables like 'slow_query%'; 2:开启Mysql slow日志: 默认情况下slow_query

  • MySQL 参数相关概念及查询更改方法

    前言: 在前面一些文章中,经常能看到介绍某某参数的作用,可能有些小伙伴仍搞不清楚 MySQL 参数是啥.本篇文章我们来聊聊 MySQL 参数,学习下如何管理维护 MySQL 参数. 1.MySQL参数概念 我们所说的参数在官方文档中称为 系统变量 (system variable),不同的变量有着不同的作用. MySQL 服务端维护了许多表示其配置的系统变量,所有变量均有默认值.一般可以在启动命令行中或配置文件中对它们进行设置. 系统变量分为全局系统变量(global)和会话系统变量(sessi

  • 使用Visual Studio Code连接MySql数据库并进行查询

    Visual Studio Code 是微软出品的一款强大的文本编辑器,本文介绍使用 VS Code 链接 MySql 数据库,并执行查询. 使用方法 Step1. 安装 Visual Studio Code VS Code 是一款跨平台的文本编辑器,访问VS Code 官网即可下载安装或者 本地绿色版安装 Step2. 打开 VS Code 并安装插件 安装插件: MySQL MySQL Syntax Step3. 开始使用 在文件菜单可以添加数据库连接: 按照步骤填写服务器.用户名.密码等:

  • 浅谈Mysql多表连接查询的执行细节

    先构建本篇博客的案列演示表: create table a(a1 int primary key, a2 int ,index(a2)); --双字段都有索引 create table c(c1 int primary key, c2 int ,index(c2), c3 int); --双字段都有索引 create table b(b1 int primary key, b2 int); --有主键索引 create table d(d1 int, d2 int); --没有索引 insert

  • 浅谈Mysql大数据分页查询解决方案

    目录 1.简介 2.分页插件使用 3.sql测试与分析 3.1 limit现象分析 3.2 解决之道 4 测试时走过的坑 4.1 百万数据内容都一样 4.2 写sql时,把"77"写成了77: 4.3 一个有趣的现象 总结 1.简介 之前,面阿里的时候,有个面试官问我有没有使用过分页查询,我说有,他说分页查询是有问题的,怎么解决:后来这个问题我没有回答出来:本着学习的态度,今天来解决一下这个问题: 2.分页插件使用 1.pom文件 <dependency> <grou

  • mysql json格式数据查询操作

    预设表名是 base_data , json列名是 json_value json_value的值是 {"ids":["a","b"],"datas":[{"name":"张三"}]} 那么查询语句应该是 select * from base_data where JSON_CONTAINS(json_value -> "$.ids", JSON_ARRAY('

  • Python实现mysql数据库中的SQL文件生成和导入

    目录 1.将mysql数据导出到SQL文件中(数据库存在的情况) 2.将现有的sql文件数据导入到数据库中(前提数据库存在) 3.利用Navicat导出SQL文件和导入SQL文件 1)从数据库导出SQL文件 2)导入SQL文件到数据库 1.将mysql数据导出到SQL文件中(数据库存在的情况) 主要需要修改数据库的相关信息,端口号.用户名.密码等 其中数据库得存在,不然会报错 : #!/usr/bin/env python # -*- coding: utf-8 -*- # @descripti

随机推荐