MySQL 普通查询日志 和 慢查询日志介绍

1. 普通查询日志(general query log)介绍

普通查询日志记录客户端连接信息和执行的sql语句信息

1.1 临时开启general_log日志开关


mysql> show variables like ‘general_log%‘;

+------------------+---------------------------+

| Variable_name    | Value                     |

+------------------+---------------------------+

| general_log      | OFF                       |            -> 默认为关闭状态

| general_log_file | /data/3306/data/node1.log |

+------------------+---------------------------+

mysql> set global general_log = ON;

mysql> set global general_log_file = "/data/3306/data/general_90root.log";

mysql> show variables like ‘general_log%‘;

+------------------+------------------------------------+

| Variable_name    | Value                              |

+------------------+------------------------------------+

| general_log      | ON                                 |

| general_log_file | /data/3306/data/general_90root.log |

+------------------+------------------------------------+

## 以上配置临时生效

1.2 永久开启general_log日志开关


[[email protected] ~]# cat /data/3306/my.cnf

[mysqld]

character_set_server = utf8

general_log = ON

general_log_file = "/data/3306/data/general_90root.log"

[[email protected] ~]# /data/3306/mysql restart

[[email protected] ~]#  mysql -uroot -p90root3306 -S /data/3306/mysql.sock

mysql> show variables like ‘general_log%‘;

+------------------+-------------------------------------+

| Variable_name    | Value                               |

+------------------+-------------------------------------+

| general_log      | ON                                  |

| general_log_file | /data/3306/data/general_90root.log  |

+------------------+-------------------------------------+

[[email protected] ~]# tail -f /data/3306/data/general_90root.log

160723  4:54:49     4 Query     show databases

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| 90_root            |

| 90root             |

| 90root_gbk         |

| 90root_test        |

| ab                 |

| mysql              |

| performance_schema |

| test               |

| test_sz            |

+--------------------+

企业里一般是关闭的, 因为性能的问题

2. 慢查询日志(slow query log)介绍

慢查询日志只记录执行时间超出指定值的sql语句

慢查询的设置对于数据库sql的优化非常重要


[[email protected] ~]# cat /data/3306/my.cnf

[mysqld]

long_query_time     = 1                 -> sql执行语句超过1秒记录到慢查询日志

slow-query-log-file   = /data/3306/slow.log     -> 慢查询日志文件路径

log_queries_not_using_indexes           -> 没有走索引的sql语句记录到慢查询日志

[[email protected] ~]# /data/3306/mysql restart

时间: 2024-12-19 16:39:44

MySQL 普通查询日志 和 慢查询日志介绍的相关文章

mysql开启binlog日志和慢查询日志

1)首先,为什么要开启binlog日志和慢查询日志呢? binlog日志会记录下数据库的所以增删改操作,当不小心删除.清空数据,或数据库系统出错,这时候就可以使用binlog日志来还原数据库,简单来说就是一个记录备份的东西 慢查询日志 slow_query_log,这个东西是用来记录查询比较慢的sql语句,通过查询日志来查找哪条sql语句比较慢,然后就可以进行数据库或sql语句或程序上的优化,简单来说就是一个优化辅助工具 PS:binlog日志应该一直开着(因为你不知道数据库哪一天会崩掉,或者哪

MySql存储引擎+表解压缩机制+索引+查询缓存机制+慢查询日志

一.大型网站优化之MySql优化 1.优化和不优化的对比的 在业界当中我们有一个叫大数据(big data)的概念,所谓的大数据指代千万级别以上的数据作为起步的数据.所以我们现在需要对两张都具有50331650条记录的表进行查询对比,其中表名为tbl_no的表是没有做过任何优化手段的表,表名为tbl_yes的表是做过优化手段的表.这个实验的目的是观察具有优化手段和不具有优化手段的查询中速度的差别. 实验条件: 1)两张表的数据记录总数是相同的 2)两张表的数据字段结构也是一样的 3)查询的记录的

Mysql日志记录慢查询的SQL

在日常开发当中,经常会遇到页面打开速度极慢的情况,通过排除,确定了,是数据库的影响,为了迅速查找具体的SQL,可以通过Mysql的日志记录方法. -- 打开sql执行记录功能 set global log_output='TABLE'; -- 输出到表 set global log=ON; -- 打开所有命令执行记录功能general_log, 所有语句: 成功和未成功的. set global log_slow_queries=ON; -- 打开慢查询sql记录slow_log, 执行成功的:

Mysql中错误日志、binlog日志、查询日志、慢查询日志简单介绍

前言 数据库的日志是帮助数据库管理员,追踪分析数据库以前发生的各种事件的有力根据.mysql中提供了错误日志.binlog日志(二进制日志).查处日志.慢查询日志.在此,我力求解决下面问题:各个日志的作用是什么?如何去控制这些日志呢?如何去使用这些日志提供的信息呢? 错误日志 1.错误日志作用 错误日志记录了mysql启动和停止时.以及server执行过程中发生不论什么严重性错误的相关信息.当数据库出现不论什么故障导致无法启动时候.比方mysql启动异常.我们可首先检查此日志.在mysql中,错

MySQL中查询日志与慢查询日志的基本学习教程(转)

一.查询日志 查询日志记录MySQL中所有的query,通过"--log[=file_name]"来打开该功能.由于记录了所有的query,包括所有的select,体积比较大,开启后对性能也有比较大的影响,所以请大家慎用该功能.一般只用于跟踪某些特殊的sql性能问题才会短暂打开该功能.默认的查询日志文件名为:hostname.log.  ----默认情况下查看是否启用查询日志: 1 [[email protected] mysql5.5]# service mysql start 1

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

MySQL中的日志包括:错误日志.二进制日志.通用查询日志.慢查询日志等等.这里主要介绍下比较常用的两个功能:通用查询日志和慢查询日志. 1)通用查询日志:记录建立的客户端连接和执行的语句. 2)慢查询日志:记录所有执行时间超过long_query_time秒的所有查询或者不使用索引的查询 (1)通用查询日志 在学习通用日志查询时,需要知道两个数据库中的常用命令: 1) showvariables like '%version%'; 效果图如下: 上述命令,显示当前数据库中与版本号相关的东西.

mysql 开发进阶篇系列 41 mysql日志之慢查询日志

一.概述 慢查询日志记录了所有的超过sql语句( 超时参数long_query_time单位 秒),获得表锁定的时间不算作执行时间.慢日志默认写入到参数datadir(数据目录)指定的路径下.默认文件名是[hostname]_slow.log,默认超时是10秒,默认不开启慢查询日志.下面查看慢日志的几个参数: -- 是否开启慢日志 SHOW VARIABLES LIKE 'slow_query_log'; -- 慢日志文件记录位置 SHOW VARIABLES LIKE 'slow_query_

MySQL 通用查询日志和慢查询日志分析

MySQL中的日志包括:错误日志.二进制日志.通用查询日志.慢查询日志等等.这里主要介绍下比较常用的两个功能:通用查询日志和慢查询日志. 1)通用查询日志:记录建立的客户端连接和执行的语句.2)慢查询日志:记录所有执行时间超过long_query_time秒的所有查询或者不使用索引的查询 (1)通用查询日志 在学习通用日志查询时,需要知道两个数据库中的常用命令: 1) show variables like '%version%'; mysql> show variables like '%ve

mysql 开启慢查询及其用mysqldumpslow做日志分析

mysql慢查询日志是mysql提供的一种日志记录,它是用来记录在mysql中相应时间超过阈值的语句,就是指运行时间超过long_query_time值的sql,会被记录在慢查询日志中.long_query_time的默认值是10,意思是运行10S之上的语句. 慢查询日志的设置 1 .查看是否开启慢查询日志命令: show variables like '%slow_query_log%' 2.设置慢查询开启的命令 set global slow_query_log=1 注: slow_quer

mysql5.5慢日志设置和查询

mysql> showvariables like '%version%'; +-------------------------+---------------------+ | Variable_name           | Value               | +-------------------------+---------------------+ |innodb_version          | 5.5.31              | |protocol_ve