日志文件(log)就是一个跟踪记录的列表,它可以协助我们时刻掌握系统及应用服务的动作状态,在故障排查的时候提供最详细准确地信息,帮助我们快速查找原因,减少我们凭主观的经验去猜测,这样的答案更具有说服力,机器通常是不会撒谎的。任何的系统,无论是操作系统、数据库、应用服务器他们都会有自己的log文件,而且根据功能性质的不同,又有分为不同种类的log。后面我们将要讨论的MySQL数据库同样也有自己的一套日志纪录文件,可分为4种日志——错误日志、二进制日志、查询日志和慢查询日志。它们都有哪些作用,我们在实际工作中又将如何有效的使用这些log文件呢?

这4种日志文件默认情况下都存放在$MYSQL_HOME/data目录下面,我们也可以使用服务器启动选项来对日志存放的位置以及名称来进行自定义。下面图片中显示了各种log文件,错误日志node1.err、二进制日志以mysql-bin开头的16个文件、查询日志node1.log、以及慢查询日志node1-slow.log。

1. 错误日志 –log-error[=/path_to/file_name]

它记录了MySQL数据库启动关闭信息,以及服务器运行过程中所发生的任何严重的错误信息。通常,当数据库出现问题不能正常启动,我们应当首先想到的就是查看错误日志。从下面可以看到此日志文件记录了MySQL数据库的启动和关闭信息。

2. 二进制日志 –log-bin=[/path_to/file_name]

binary log文件是以二进制格式保存的,我们需要借助mysqlbinlog这个工具进行查看,该日志里面记录的所有的DDL和DML语句,其中select语句除外。

以上显示的是从位置232609开始到最后一次操作结束的binlog文件里记录的内容。

在data目录下会发现有16个binary log文件,每次重启服务都会重新生成一个,或是文件达到最到限度也会安顺序自动生成下一个文件。在一个繁忙的OLTP系统中,每天会有大量的日志生成,自然我们会想到它将会占用可观的磁盘空间,所以我们有必要定期对其进行清理。下面介绍几种方法。

Option 1. mysql> reset master; (删除所有binlog文件,然后从新生成一个从000001开始的文件)

Option 2. mysql> purge master logs to ‘mysql-bin.000017′; (删除mysql-bin.000017之前的所有日志)

Option 3. # mysqladmin flush-log (根据配置文件my.cnf中的expire_logs_day参数,触发日志文件更新,将从当前日期开始前多少天的日志全部删除)

3. 查询日志 –log[=/path_to/file_name]

查询日志记录客户端操作的所有sql语句,包括select查询语句在内。(note: 查询日志纪录的所有数据库的操作,对于访问频繁的应用,该日志对系统性能会一定影响,建议通常关闭此日志。)

4. 慢查询日志 –log-slow-queries[=/path_to/file_name]

慢查询日志里记录了执行时间超过long_query_time参数值的sql语句。慢查询日志可以有效的帮助我们发现实际应用中sql的性能问题,找出执行效率低下的sql语句。

我们经常会看到论坛上面,人家在回答你问题之前,有些时候会让你提供详细的日志信息,然后进一步分析帮你解决问题,这就是一个很好的解决问题的习惯和思路,做到有理有据,log就是我们查明真相的线索。了解了MySQL的日志之后,你也可以成为一个地道的troublshooting的专家。

mysql查询日志分析_mysql日志分析相关推荐

  1. mysql.err日志分析_Mysql日志解析

    转载:https://www.cnblogs.com/Fly-Wind/p/5674382.html 修改Mysql配置 Mysql配置地址为: C:\Program Files (x86)\MySQ ...

  2. 分析mysql日志文件_MySQL日志文件与分析

    1.查询日志.慢查询日志.二进制日志对比 查询日志 general_log 会记录用户的所有操作,其中包含增删查改等 可以指定输出为表 慢查询日志 slow_log 只要超过定义时间的所有操作语句都记 ...

  3. mysql 日志文件_Mysql 日志文件类型

    简介: Mysql 中提供了多种类型的日志文件,分别反映 Mysql 的不同信息,了解它们很有必要. 1.Error log ( 错误日志 ) 错误日志记录了 Mysql Server 运行过程中所有 ...

  4. arch mysql日志位置_MySQL 日志文件与相关参数

    1 .参数文件及mysql参数 查看mysql 的 my.cnf 配置文件位置命令:>./bin/mysql --help | grep my.cnf 查看mysql 的参数设置命令: mysq ...

  5. mysql .err 怎么查看_MySQL日志设置及查看方法

    MySQL有以下几种日志: 错误日志: -log-err 查询日志: -log 慢查询日志: -log-slow-queries 更新日志: -log-update 二进制日志: -log-bin 默 ...

  6. mysql 查询缓存设置_MySQL查询缓存设置 提高MySQL查询性能

    从 MySQL4开始,出现了QueryCache查询缓存,如果使用了QueryCache,当查询接收到一个和之前同样的查询,服务器将会从查询缓存种检索结果,而不是再次分析和执行上次的查询.这样就大大提 ...

  7. mysql查询性别语句_MySQL查询语句简单操作示例

    本文实例讲述了MySQL查询语句简单操作.分享给大家供大家参考,具体如下: 查询 -- 创建数据库 create database python_test_1 charset=utf8; -- 使用数 ...

  8. mysql查询数据库结构_mysql查询数据库下的表结构

    mysql查询数据库下的表结构 方法:1.使用DESCRIBE命令以表格的形式展示表结构,语法"DESCRIBE 表名;":2.使用"SHOW CREATE TABLE& ...

  9. mysql查询语句 变量_mysql查询语句中用户变量的使用

    先上代码吧 SELECT `notice`.`id` , `notice`.`fid` , `notice`.`has_read` , `notice`.`notice_time` , `notice ...

最新文章

  1. Linux平台下QtCreator集成代码静态分析工具clang-tidy和Clazy
  2. node 实现blog博客
  3. linux+添加git+ssh+keys,为github帐号添加SSH keys(Linux和Windows)(示例代码)
  4. stm32f407 usb cdc设备无法启动问题
  5. 代腾飞(一读者再为IT诗人代腾飞名字作诗)
  6. 总分 Score Inflation
  7. LeetCode OJ 113. Path Sum II
  8. java程序员经常使用的Intellij Idea插件
  9. SpringBoot yaml的配置及使用
  10. Git 的origin和master分析 push/diff/head
  11. 我为什么要放弃RESTful,选择拥抱GraphQL?
  12. Mysql触发器学习
  13. OpenCV---图像梯度
  14. 局域网上传文件_3分钟内Windows网盘搭建并实现局域网文件共享
  15. QGIS插件开发详细教程
  16. Mac OS系统怎么修改mac地址
  17. vue print 解决打印每页都有表头
  18. PaddleNLP基于ERNIR3.0文本分类以中医疗搜索检索词意图分类(KUAKE-QIC)为例【多分类(单标签)】
  19. Rust 从入门到精通01-简介
  20. gstreamer+qgc+aarch64

热门文章

  1. 解决苹果、WIN 10和Ubuntu时间不同步的问题
  2. 这门技术藏不住了,复杂简单化,一秒让你了解SD-WAN
  3. RestTemplate请求出现401错误
  4. 401 错误原因和解决方案
  5. 乳腺增生用什么药效果好 治疗乳腺增生什么见效快
  6. 【H.264/AVC视频编解码技术详解】二十六、帧间预测编码(4):宏块的帧间预测解码
  7. html 单选框、复选框 点击文字选中
  8. AD 画PCB布线时,走线网线高亮,其它不走线网络变黑的设置方法
  9. ubuntu 追逐鼠标指针的小猫~Oneko
  10. Unity中的Lerp函数