返回顶部
首页 > 资讯 > 数据库 >MySQL慢日志选项参数有哪些
  • 944
分享到

MySQL慢日志选项参数有哪些

2024-04-02 19:04:59 944人浏览 安东尼
摘要

这篇文章给大家分享的是有关Mysql慢日志选项参数有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。〇 log_output枚举型,动态参数。用于设置slow log和gene

这篇文章给大家分享的是有关Mysql日志选项参数有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。



〇 log_output
枚举型,动态参数。
用于设置slow log和general log的输出对象。
可以设置为none,table,file,分别代表:不输出,存于表,存于文件。

并且也可以组合设置:
比如SET GLOBAL log_output='table,file';
则代表同时输出到表和文件中。

如果设置SET GLOBAL log_output='none,file' 或 'none,table' 或 'table,file,none' 均代表'none'



〇 slow_query_log与slow_query_log_file
slow_query_log 布尔型,动态参数,默认为OFF。
用于控制是否开启slow log。

slow_query_log_file 动态参数,指定slow log文件的名称和路径。
若未设置,则slow log的文件名取默认值$host_name-slow.log,存放于$datadir下。



〇 long_query_time
动态参数,默认值为10。
记录执行时间(real time)超过该值以上的sql



〇 log_queries_not_using_indexes 
布尔型,动态参数,默认为OFF。
若开启,则表示记录所有未使用索引的SQL,无论是否超过long_query_time所设置的值。
不遵循long_query_time。

  1. mysql> SET SESSioN long_query_time=10000;

  2. Query OK, 0 rows affected (0.00 sec)


  3. mysql> CREATE TABLE test.slow(id int);

  4. Query OK, 0 rows affected (0.03 sec)


  5. mysql> INSERT INTO test.slow SELECT 1;

  6. Query OK, 1 row affected (0.01 sec)

  7. Records: 1  Duplicates: 0  Warnings: 0


  8. mysql> SELECT * FROM test.slow WHERE id=1;

  9. +------+

  10. | id   |

  11. +------+

  12. | 1    |

  13. +------+

  14. 1 row in set (0.00 sec)


  15. mysql> SELECT start_time, query_time,lock_time,sql_text FROM mysql.slow_log;

  16. +----------------------------+-----------------+-----------------+------------------------------------+

  17. | start_time                 | query_time      | lock_time       | sql_text                           |

  18. +----------------------------+-----------------+-----------------+------------------------------------+

  19. | 2017-11-16 15:09:32.114488 | 00:00:00.000346 | 00:00:00.000166 | SELECT * FROM test.slow WHERE id=1 |

  20. +----------------------------+-----------------+-----------------+------------------------------------+

  21. 1 row in set (0.00 sec)

此时上面这一条SQL被记录到slow log,并且忽略了long_query_time的设置。

加一个索引,再多一次查询:

  1. mysql> ALTER TABLE test.slow ADD PRIMARY KEY pk(id);

  2. Query OK, 0 rows affected (0.14 sec)

  3. Records: 0  Duplicates: 0  Warnings: 0


  4. mysql> SELECT * FROM test.slow WHERE id=1;

  5. +----+

  6. | id |

  7. +----+

  8. | 1  |

  9. +----+

  10. 1 row in set (0.00 sec)


  11. mysql> SELECT start_time, query_time,lock_time,sql_text FROM mysql.slow_log;

  12. +----------------------------+-----------------+-----------------+----------------------------------------------------------------------+

  13. | start_time                 | query_time      | lock_time       | sql_text                                                             |

  14. +----------------------------+-----------------+-----------------+----------------------------------------------------------------------+

  15. | 2017-11-16 15:09:32.114488 | 00:00:00.000346 | 00:00:00.000166 | SELECT * FROM test.slow WHERE id=1                                   |

  16. | 2017-11-16 15:10:50.196590 | 00:00:00.000437 | 00:00:00.000148 | SELECT start_time, query_time,lock_time,sql_text FROM mysql.slow_log |

  17. +----------------------------+-----------------+-----------------+----------------------------------------------------------------------+

  18. 2 rows in set (0.00 sec)

可以发现第二次SELECT的SQL的没有被记录到slow log。
至于这条查询slow log的语句本身被记录到slow log,也是因为这条查mysql.slow_log的SQL没有使用到索引。

因为开启该参数造成slow log暴涨的案例:
Http://blog.itpub.net/29773961/viewspace-1811829/



〇 log_throttle_queries_not_using_indexes
整型,动态参数,默认为0。
如果log_queries_not_using_indexes开启,
那么log_throttle_queries_not_using_indexes用于限制每分钟所记录的slow log数量。
设置为0则表示“不限制”。



〇 log_slow_admin_statements 
布尔型,动态参数,默认为OFF。5.7后新增的参数。
可用于控制slow log是否记录数据库管理的SQL。
若开启,则表示记录这些SQL。
数据库管理的SQL包括:
ALTER TABLE, ANALYZE TABLE, CHECK TABLE, CREATE INDEX, DROP INDEX, OPTIMIZE TABLE, REPaiR TABLE。

遵循long_query_time。


第一次执行check table,时间超过2秒,但未被记录。
第二次执行check table,开启log_queries_not_using_indexes,超过2秒,被记录。

  1. mysql> SELECT @@long_query_time, @@log_queries_not_using_indexes;

  2. +-------------------+---------------------------------+

  3. | @@long_query_time | @@log_queries_not_using_indexes |

  4. +-------------------+---------------------------------+

  5. | 2.000000          | 0                               |

  6. +-------------------+---------------------------------+

  7. 1 row in set (0.00 sec)


  8. mysql> CHECK TABLE test.t0;

  9. +---------+-------+----------+----------+

  10. | Table   | Op    | Msg_type | Msg_text |

  11. +---------+-------+----------+----------+

  12. | test.t0 | check | status   | OK       |

  13. +---------+-------+----------+----------+

  14. 1 row in set (4.28 sec)


  15. mysql> SET GLOBAL log_slow_admin_statements = 1;

  16. Query OK, 0 rows affected (0.00 sec)


  17. mysql> CHECK TABLE test.t0;

  18. +---------+-------+----------+----------+

  19. | Table   | Op    | Msg_type | Msg_text |

  20. +---------+-------+----------+----------+

  21. | test.t0 | check | status   | OK       |

  22. +---------+-------+----------+----------+

  23. 1 row in set (4.27 sec)


  24. mysql> SELECT start_time, query_time,lock_time,sql_text FROM mysql.slow_log;

  25. +----------------------------+-----------------+-----------------+---------------------+

  26. | start_time                 | query_time      | lock_time       | sql_text            |

  27. +----------------------------+-----------------+-----------------+---------------------+

  28. | 2017-11-16 15:31:24.378343 | 00:00:04.271940 | 00:00:00.000134 | CHECK TABLE test.t0 |

  29. +----------------------------+-----------------+-----------------+---------------------+

  30. 1 row in set (0.00 sec)



〇 log_slow_slave_statements
布尔型,动态参数,默认为OFF。5.7后新增的参数。
开启后,在slave上将会记录超过long_query_time的日志记录。
即便开启了这个选项,也不会立刻生效,新的变更需要再一次START SLAVE后生效。



〇 min_examined_row_limit
整型,动态参数,默认为0。
设置该值,则表示返回行数大于等于该值的sql,将会被记录到slow log中。

  1. mysql> SET SESSION long_query_time=0, SESSION min_examined_row_limit=5;

  2. Query OK, 0 rows affected (0.00 sec)


  3. mysql> SELECT * FROM test.t0 LIMIT 4;

  4. …………

  5. 4 rows in set (0.00 sec)


  6. mysql> SELECT * FROM test.t0 LIMIT 5;

  7. …………

  8. 5 rows in set (0.00 sec)


  9. mysql> SELECT * FROM test.t0 LIMIT 10;

  10. …………

  11. 10 rows in set (0.00 sec)


  12. mysql> SELECT start_time, query_time,lock_time,sql_text FROM mysql.slow_log;

  13. +----------------------------+-----------------+-----------------+--------------------------------+

  14. | start_time                 | query_time      | lock_time       | sql_text                       |

  15. +----------------------------+-----------------+-----------------+--------------------------------+

  16. | 2017-11-17 16:08:14.851394 | 00:00:00.000286 | 00:00:00.000134 | SELECT * FROM test.t0 LIMIT 5  |

  17. | 2017-11-17 16:08:16.744389 | 00:00:00.000284 | 00:00:00.000135 | SELECT * FROM test.t0 LIMIT 10 |

  18. +----------------------------+-----------------+-----------------+--------------------------------+

  19. 2 rows in set (0.00 sec)

个人认为大多数场景都无需刻意设置该值,取默认为0就好。

〇 log-short-format
默认为FLASE,该选项仅仅为启动时选项,并不支持系统变量。
如果该选项被激活,则表示在slow log中记录更少的信息。


〇 log_timestamps
枚举型,动态,默认为UTC,5.7.2后出现。

感谢各位的阅读!关于“MySQL慢日志选项参数有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL慢日志选项参数有哪些

本文链接: https://lsjlt.com/news/63399.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL慢日志选项参数有哪些
    这篇文章给大家分享的是有关MySQL慢日志选项参数有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。〇 log_output枚举型,动态参数。用于设置slow log和gene...
    99+
    2024-04-02
  • PostgreSQL的日志文件参数及注意事项有哪些
    这篇文章主要介绍“PostgreSQL的日志文件参数及注意事项有哪些”,在日常操作中,相信很多人在PostgreSQL的日志文件参数及注意事项有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方...
    99+
    2024-04-02
  • mysql中慢查询日志的相关参数
    本篇内容介绍了“mysql中慢查询日志的相关参数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、 相关参数:• slow_query_lo...
    99+
    2023-06-06
  • 有哪些关于MySQL日志
    这篇文章主要讲解了“有哪些关于MySQL日志”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些关于MySQL日志”吧!MySQL日志说起MySQL的日志,...
    99+
    2024-04-02
  • mysql的慢查询日志记录哪些内容
    本篇内容主要讲解“mysql的慢查询日志记录哪些内容”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql的慢查询日志记录哪些内容”吧! ...
    99+
    2024-04-02
  • MySQL中有哪些日志类型
    MySQL中有哪些日志类型,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。MySQL中有六种日志文件,分别是:重做日志(redo log)、...
    99+
    2024-04-02
  • mysql有哪些参数
    本篇内容主要讲解“mysql有哪些参数”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql有哪些参数”吧!max_connections:表示数据库的最大连...
    99+
    2024-04-02
  • mysql常用选项有哪些
    这篇文章主要为大家展示了“mysql常用选项有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql常用选项有哪些”这篇文章吧。binlog-format...
    99+
    2024-04-02
  • mysql日志文件有哪些作用
    了解mysql日志文件有哪些作用?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!MySQL日志文件可分为:重做日志(redo...
    99+
    2024-04-02
  • MySQL日志的知识点有哪些
    本篇内容主要讲解“MySQL日志的知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL日志的知识点有哪些”吧!Mysql的日志系统是Mysql保...
    99+
    2024-04-02
  • MySQL 5.7 错误日志参数log_error_verbosity
    检查错误日志的时候发现有大量的[Note] Multi-threaded slave statistics for channel输出,而且目前错误日志已经很大。虽然是note,但是看着还是不舒服,所...
    99+
    2024-04-02
  • mysql中general_log日志知识点有哪些
    这篇文章主要为大家展示了“mysql中general_log日志知识点有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql中general_log日志...
    99+
    2024-04-02
  • MySQL中有哪些日志维护策略
    这篇文章给大家介绍MySQL中有哪些日志维护策略,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。日志类型:MySQL有几个不同的日志文件,可以帮助你找出mysqld内部发生的事情:&nb...
    99+
    2024-04-02
  • mysql相关的日志文件有哪些
    这篇文章给大家分享的是有关mysql相关的日志文件有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。  Mysql的日志文件种类比较多,有的日志文件记录了mysql...
    99+
    2024-04-02
  • MySQL事务日志的特征有哪些
    本篇内容主要讲解“MySQL事务日志的特征有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL事务日志的特征有哪些”吧!一、MySQL事务事务是MyS...
    99+
    2024-04-02
  • MySQL清理日志的方式有哪些
    MySQL清理日志的方式有以下几种方法: 利用MySQL命令清理日志:可以使用类似于PURGE BINARY LOGS和FLUS...
    99+
    2024-04-09
    MySQL
  • mysql查询日志的方法有哪些
    有以下几种方法可以查询MySQL的日志: 查询错误日志:MySQL的错误日志记录了MySQL实例发生的错误信息,可以通过查看错误...
    99+
    2024-05-14
    mysql
  • Linux筛选查询日志的命令有哪些
    今天小编给大家分享一下Linux筛选查询日志的命令有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.查询日志中含有某个...
    99+
    2023-06-28
  • C++日期格式参数有哪些
    这篇文章主要介绍“C++日期格式参数有哪些”,在日常操作中,相信很多人在C++日期格式参数有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++日期格式参数有哪些”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-17
  • MySQL数据库——MySQL慢查询日志(Slow Query Log)
    慢查询日志用来记录在 MySQL 中执行时间超过指定时间的查询语句。通过慢查询日志,可以查找出哪些查询语句的执行效率低,以便进行优化。 通俗的说,MySQL 慢查询日志是排查问题的 SQL 语句,以及检查当前 MySQL 性能的一个重要功能...
    99+
    2023-08-31
    mysql 数据库 sql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作