美文网首页
Mysql 慢查询日志和通用查询日志

Mysql 慢查询日志和通用查询日志

作者: wesker8080 | 来源:发表于2018-11-10 14:04 被阅读0次

慢查询

Mysql慢查询日志可以记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,可以通过设置long_query_time为0来捕获所有的查询。
不用担心开启慢查询日志会带来额外的I/O开销,我们在I/O密集型场景做过基准测试,慢查询日志带来的开销可以忽略不计(实际上在CPU密集型场景的影响还稍微大一些)。更需要担心的是日志可能消耗大量的磁盘空间。如果长期开启慢查询日志,注意要布署日志轮转(log rotation)工具。或者不要长期启用慢查询日志,只在需要收集负载样本期间开启即可。

相关参数

//查看版本相关
show variables like '%version%';
image.png
//慢查询的状态和日志文件位置
show variables like '%slow_query_log%';
//查看当前慢查询状态
show variables like '%quer%';

image.png
  1. slow_query_log_file 的值是记录的慢查询日志到文件中(注意:默认名为主机名.log,慢查询日志是否写入指定文件中,需要指定慢查询的输出日志格式为文件,相关命令为:show variables like ‘%log_output%’;去查看输出的格式)。

  2. long_query_time指定了慢查询的阈值,即如果执行语句的时间超过该阈值则为慢查询语句,默认值为10秒。

  3. log_queries_not_using_indexes如果值设置为ON,则会记录所有没有利用索引的查询
    (注意:如果只是将log_queries_not_using_indexes设置为ON,而将slow_query_log设置为OFF,此时该设置也不会生效,即该设置生效的前提是slow_query_log的值设置为ON)
    一般在性能调优的时候会暂时开启

慢查询日志输出到表中(即mysql.slow_log) set global log_output='TABLE';

慢查询日志仅输出到文本中(即:slow_query_log_file指定的文件 set global log_output='FILE';

慢查询日志同时输出到文本和表中 set global log_output='FILE,TABLE';

查询当前慢查询的语句的个数 show global status like '%slow%';
上述命令只对当前生效,当MySQL重启失效,如果要永久生效,需要配置my.cnf

通用查询

相关参数

//可以看到通用查询的状态和存储路径
show variables like '%general%';
image.png
//查看当前通用查询日志输出的格式
//FILE(存储在数数据库的数据文件中的hostname.log)
//或者TABLE(存储在数据库中的mysql.general_log)
show variables like '%log_output%';
image.png

开启通用日志查询: set global general_log=on;

关闭通用日志查询: set globalgeneral_log=off;

设置通用日志输出为表方式: set global log_output='TABLE';

设置通用日志输出为文件方式: set global log_output='FILE';

设置通用日志输出为表和文件方式:'set global log_output='TABLE,FILE';'
上述命令只对当前生效,当MySQL重启失效,如果要永久生效,需要配置my.cnf

相关文章

  • Mysql之日志

    mysql的日志种类:通用查询日志、慢查询日志、错误日志、二进制日志、中继日志、重做日志、回滚日志。 1、通用查询...

  • mysql慢查询

    通用查询日志和慢查询日志。 (1)通用查询日志 (2)慢查询日志 清空slow.log表

  • MySQL主要日志的基本操作与简单解析

    MySQL主要有以下几种日志: 错误日志 通用查询日志 慢查询日志 二进制日志 DDL日志 日志是mysql数据库...

  • Mysql 慢查询日志

    Mysql 慢查询日志 慢查询日志 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中...

  • 关于MySQL 通用查询日志和慢查询日志分析

    MySQL中的日志包括:错误日志、二进制日志、通用查询日志、慢查询日志等等。这里主要介绍下比较常用的两个功能:通用...

  • 学会这 2 点,轻松看懂 MySQL 慢查询日志

    MySQL中的日志包括:错误日志、二进制日志、通用查询日志、慢查询日志等等。这里主要介绍下比较常用的两个功能:通用...

  • MySQL慢查询日志总结

    MySQL慢查询日志总结 慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MyS...

  • Mysql-日志-慢查询日志

    本篇文章主要记述Mysql慢查询的学习过程,内容目录如下:慢查询日志是什么?慢查询日志开启和配置慢查询日志相关操作...

  • 开启MySQL慢查询日志

    查询慢日志开关是否开启 打开慢查询日志开关 再次查询,发现开关打开了 查询mysql安装路径 慢查询日志默认是放在...

  • 慢查询日志

    1、慢查询日志介绍 慢查询日志是什么? 1.MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在My...

网友评论

      本文标题:Mysql 慢查询日志和通用查询日志

      本文链接:https://www.haomeiwen.com/subject/pekzxqtx.html