博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mysql之开启慢查询日志
阅读量:3747 次
发布时间:2019-05-22

本文共 1378 字,大约阅读时间需要 4 分钟。

原文链接 

一. 简介

    开启慢查询日志,可以让mysql或者mariadb记录执行时超过指定时间的sql语句。

二. 开启慢查询日志设置

1. 在mariadb的配置文件/etc/my.cnf(centos系统是该文件,其他系统请自行寻找mysql或mariadb的配置文件)中的[mysqld]下面添加以下语句。重启数据库即可。

[mysqld]slow_query_log = 1  # 开启慢日志查询long_query_time = 2  # 把查询时间超过2秒的定义为慢查询,也可以设置为1秒log_output = 'TABLE'  # 保存日志到mysql数据的slow_log表#slow_query_log_file=/var/log/mariadb/slow_query_log.txt  #将日志保存带本地文件中

2. 参数说明:

slow_query_log:表示是否开启慢查询日志。

long_query_time:最长运行时间。表示运行超过该值的sql语句都会被定义为慢查询语句。该值默认为10秒。

log_output:表示当慢查询日志开启后,以哪种方式存放,log_output可以设置为4种值,“FILE”、“TABLE”、“FILE,TABLE”、“NONE”。

    “FILE“:表示慢查询日志存放在指定的文件中。

    “TABLE”:表示慢查询日志存放在mysql库中的slow_log表中,如下图所示。一般建议设置为该值。

    “FILE,TABLE”:表示将满查询日志同时存放于指定的文件盒slow_log表中。但是这样的设置有可能会造成一定的IO压力。

    “NONE”:表示不记录查询日志,即使slow_query_log设置为ON,如果log_ouput设置为NONE,也不会记录慢查询日志。

slow_query_log_file:当log_output设置为使用文件记录慢查询日志时,也就是设置为“FILE”或者“FILE,TABLE”时,该参数指定将慢查询日志存储到哪个日志文件。默认的慢查询日志文件名为“主机名-slow.log”,其位置为datadir参数所对应的目录位置。

3. 查看配置是否成功

数据库重启后,进入mysql,输入以下命令查看慢查询日志是否开启成功。

show variables like '%quer%';

三、测试

执行一条超过设置时间的sql语句:

MariaDB [(none)]> select sleep(3);

然后在数据库的mysql库中的slow_log表可以看到相应的记录

 

四,命令行修改

命令行查询慢日志设置:

    show variables  like '%slow_query_log%';
    show variables like 'long_query_time%';

命令行修改慢日志设置:

      set global show_query_log=0;

      set global long_query_time=3;

注意: set 命令只对当前数据库生效,如果MySQL重启后则会失效。如果要永久生效,就必须修改配置文件my.cnf(其它系统变量也是如此)

 

 

其他更详细的关于mysql慢查询日志见:http://www.zsythink.net/archives/1260

转载地址:http://wsbsn.baihongyu.com/

你可能感兴趣的文章
打印等腰三角形
查看>>
打印杨辉三角
查看>>
java中String类中常用方法
查看>>
安装Android Studio时没有Sdk选项
查看>>
flutter学习笔记:第一个APP应用
查看>>
哲学家进餐问题
查看>>
Python-Opencv学习总结(一):图像读取和获取图像特征
查看>>
第十四周.
查看>>
实验十三:导出与导入
查看>>
第十五周.
查看>>
基于MVC模式的用户登录
查看>>
第十六周.
查看>>
Java Swing搭建QQ登录界面
查看>>
Spring常用依赖及注解的使用
查看>>
解决Maven中资源过滤问题
查看>>
Springboot中解决Ajax请求跨域问题
查看>>
使用django-bootstrap开发个人博客
查看>>
中国剩余定理
查看>>
乘法逆元
查看>>
js学习笔记(摘抄)
查看>>