`

MySQL日志分析

阅读更多

原文出处:http://www.mysqlsystems.com/2009/05/mysql-log.html

 

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

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

mysql_log1

 

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

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

mysql-log-error1

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

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

mysql-binlog1

以上显示的是从位置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: 查询日志纪录的所有数据库的操作,对于访问频繁的应用,该日志对系统性能会一定影响,建议通常关闭此日志。)

mysql-querylog1

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

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

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

分享到:
评论

相关推荐

    五种MySql日志分析工具比拼

    MySQL作为一种广泛使用的开源关系型数据库管理系统,其性能优化和日志分析对于维护数据库的健康和高效运行至关重要。日志文件是数据库状态和行为的记录,对于诊断问题、监控性能以及安全审计等方面扮演着重要角色。...

    MySQL日志分析(包括工具)

    ### MySQL日志分析详解 #### 一、引言 MySQL作为一种广泛使用的开源关系型数据库管理系统,在维护数据库稳定性与性能方面发挥着至关重要的作用。为了更好地监控数据库的状态并及时解决潜在问题,MySQL提供了多种...

    第5篇:MySQL日志分析.pdf

    ### MySQL日志分析知识点 #### 一、概览 MySQL作为全球广泛使用的开源关系型数据库管理系统之一,在数据存储与管理方面发挥着重要作用。随着网络安全威胁的不断升级,针对数据库的安全防护变得尤为重要。其中,对...

    MySQL日志分析软件 baretail pro 专业版(非破解已注册)

    MySQL日志分析是数据库管理中的重要环节,尤其是对于大型系统来说,日志分析可以帮助我们追踪错误,优化查询,以及确保数据一致性。Baretail Pro是一款专业级别的日志查看和分析工具,尤其适用于处理大量文本日志,...

    MySQL 日志分析工具

    数据报表,非常有利于分析慢查询的原因, 包括执行频率, 数据量, 查询消耗等. 格式说明如下: 总查询次数 (queries total), 去重后的sql数量 (unique) 输出报表的内容排序(sorted by) 最重大的慢sql统计信息, 包括 ...

    Mysql课件教程 辅助日志分析工具SQLProfiler DBMonster的安装和配置 DBMonster命令示例-压数据

    本文将详细讲解如何使用SQLProfiler和DBMonster这两个工具,它们分别是MySQL数据库的辅助日志分析工具和数据压力测试工具。 **SQLProfiler** 是一个用于记录和分析SQL执行情况的工具,特别适合于性能调优。它通过...

    MySQL日志分析软件mysqlsla的安装和使用教程

    MySQL日志分析软件mysqlsla是一款强大的工具,用于深入解析MySQL服务器的日志,提供关于查询性能、用户活动等关键信息的报告。在本文中,我们将详细探讨如何在Linux环境下安装和使用mysqlsla。 首先,我们需要从...

    mysql慢日志分析工具mysqlsla

    MySQLsla是一款专为MySQL数据库设计的慢查询日志分析工具,它可以帮助数据库管理员高效地分析和理解MySQL服务器上的慢查询情况,从而优化数据库性能。在MySQL的运行过程中,某些SQL语句执行时间过长,就会被记录到慢...

    网络安全应急响应日志分析.xmind

    这个思维导图主要是作为日常学习,工作的思维指导,主要包含下面内容:1.windows日志分析日志简介:...通过对WEB日志进行的安全分析,不仅可以帮助我们定位攻击者,还可以帮助4.mysql日志分析5.mssql日志分析6.日志溯源

    工具查询MYSQL5 LOG 分析工具-mysql-log-analysis.zip

    MySQL日志分析是数据库管理中的重要环节,它可以帮助我们了解数据库的运行状态,优化SQL查询,定位性能瓶颈,以及在出现问题时进行故障排查。这款名为"mysql-log-analysis"的工具正是针对MySQL5的日志分析软件,它...

    基于MySql的海量日志分析系统设计

    基于 MySql 的海量日志分析系统设计 本系统设计旨在解决海量日志数据的分析需求,通过对日志数据的实时处理和分析,提供可靠的数据支持给决策者。系统架构基于功能模块可以分为多个节点,包括采集节点、运算节点、...

    MysqlLog.rar

    "MysqlLog.jar"是一个专为Java开发的MySQL日志分析工具,它能够帮助我们捕获并分析SQL查询,从而提升应用程序的效率。 首先,我们需要理解SQL日志的作用。在MySQL中,主要有两类日志:错误日志(Error Log)和二...

    精通MySQL日志管理

    ### 精通MySQL日志管理 在数据库管理和维护工作中,了解并掌握MySQL的日志管理至关重要。这不仅能帮助我们及时发现并解决系统故障,还能通过对日志数据的分析来进行性能优化,确保系统的稳定运行。本文将详细介绍...

    MySQL日志和数据恢复

    这对于调试和性能分析非常有用,但因为会产生大量日志,一般只在需要时开启。可以通过配置`general_log`和`general_log_file`来控制查询日志。 4. 数据恢复 (Data Recovery) 当数据丢失或损坏时,可以借助上述日志...

    mysql根据日志恢复数据详细步骤

    ### MySQL根据日志恢复数据详细步骤 #### 一、引言 MySQL作为一款广泛使用的开源关系型数据库管理系统,因其高效稳定、易于维护等特性而深受开发者喜爱。然而,在实际使用过程中,难免会遇到误删数据的情况,这时就...

    五款常用mysql slow log分析工具

    描述:本文对五款常用的MySQL慢查询日志分析工具进行深入解析,旨在帮助DBA、开发者和运维人员更有效地定位和优化数据库性能瓶颈。 ### MySQL Slow Log概念 MySQL慢查询日志(Slow Query Log)是一种用于记录执行...

    基于Hadoop的网站流量日志数据分析系统项目源码+教程.zip

    基于Hadoop网站流量日志数据分析系统项目源码+教程.zip网站流量日志数据分析系统 典型的离线流数据分析系统 技术分析 hadoop nginx flume hive sqoop mysql springboot+mybatisplus+vcharts 基于Hadoop网站流量日志...

    日志文件解析MySQL版

    在这个“日志文件解析MySQL版”的资源包中,提供了JAVA源代码、可执行jar文件、日志文件样例以及MySQL建表脚本,这将帮助我们构建一个完整的日志分析系统,以下将详细介绍其中涉及的知识点。 首先,**JAVA日志解析*...

    基于Hadoop网站流量日志数据分析系统.zip

    基于Hadoop网站流量日志数据分析系统 1、典型的离线流数据分析系统 2、技术分析 - Hadoop - nginx - flume - hive - mysql - springboot + mybatisplus+vcharts nginx + lua 日志文件埋点的 基于Hadoop网站流量...

    mysqlsla-2.03

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,而MySQLsla是一款强大的MySQL日志分析工具,尤其在处理Binlog日志和慢查询方面表现出色。本篇文章将详细介绍MySQLsla的用途、安装过程以及如何在Linux环境中使用...

Global site tag (gtag.js) - Google Analytics