日志文件

1、错误日志

ErrorLog 错误日志记录了MyQLServer运行过程中所有较为严重的警告和错误信息,以及MySQLServer每次启动和关闭的详细信息。
在默认情况下,系统记录错误日志的功能是关闭的,错误信息被输出到标准错误输出(stderr),如果要开启系统记录错误日志的功能,需要在启动时开启-log-error选项。
错误日志的默认存放位置在数据目录下,以hostname.err命名。
但是可以使用命令:--log-error[=file_name],修改其存放目录和文件名。 
为了方便维护需要,有时候会希望将错误日志中的内容做备份并重新开始记录,这时候就可以利用MySQL的FLUSHLOGS命令来告诉MySQL备份旧日志文件并生成新的日志文件。备份文件名以“.old”结尾。

2、二进制日志

BinaryLog&BinaryLogIndex二进制日志,也就是我们常说的binlog,也是MySQLServer中最为重要的日志之一。当我们通过“--log-bin[=file_name]”打开了记录的功能之后,MySQL会将所有修改数据库数据的query以二进制形式记录到日志文件中。当然,日志中并不仅限于query语句这么简单,还包括每一条query所执行的时间,所消耗的资源,以及相关的事务信息,所以binlog是事务安全的。 和错误日志一样,binlog记录功能同样需要“--log-bin[=file_name]”参数的显式指定才能开启,如果未指定file_name,则会在数据目录下记录为mysql-bin.******(*代表0~9之间的某一个数字,来表示该日志的序号)。
 
 binlog还有其他一些附加选项参数: “--max_binlog_size”设置binlog的最大存储上限,当日志达到该上限时,MySQL会重新创建一个日志开始继续记录。不过偶尔也有超出该设置的binlog产生,一般都是因为在即将达到上限时,产生了一个较大的事务,为了保证事务安全,MySQL不会将同一个事务分开记录到两个binlog中。
“--binlog-do-db=db_name”参数明确告诉MySQL,需要对某个(db_name)数据库记录binlog,  如果有了“--binlog-do-db=db_name”参数的显式指定,MySQL会忽略针对其他数据库执行的query,而仅仅记录针对指定数据库执行的query。 “--binlog-ignore-db=db_name”与“--binlog-do-db=db_name”完全相反,它显式指定忽略某个(db_name)数据库的binlog记录,当指定了这个参数之后,MySQL会记录指定数据库以外所有的数据库的binlog。 
 
“--binlog-ignore-db=db_name”与“--binlog-do-db=db_name”两个参数有一个共同的概念需要大家理解清楚,参数中的db_name不是指query语句更新的数据所在的数据库,而是执行query的时候当前所处的数据库。不论更新哪个数据库的数据,MySQL仅仅比较当前连接所处的数据库(通过usedb_name切换后所在的数据库)与参数设置的数据库名, 而不会分析query语句所更新数据所在的数据库。 
 
mysql-bin.index文件(binarylogindex)的功能是记录所有BinaryLog的绝对路径,保证MySQL各种线程能够顺利的根据它找到所有需要的BinaryLog文件。

3、更新日志

updatelog 更新日志是MySQL在较老的版本上使用的,其功能和binlog基本类似,只不过不是以二进制格式来记录而是以简单的文本格式记录内容。
自从MySQL增加了binlog功能之后,就很少使用更新日志了。
 
从版本5.0开始,MySQL已经不再支持更新日志了。

4、查询日志

querylog 查询日志记录MySQL中所有的query,通过“--log[=fina_name]”来打开该功能。
由于记录了所有的query,包括所有的select,体积比较大,开启后对性能也有较大的影响,所以请大家慎用该功能。
一般只用于跟踪某些特殊的sql性能问题才会短暂打开该功能。默认的查询日志文件名为 hostname.log

5、慢查询日志

slowquerylog 顾名思义,慢查询日志中记录的是执行时间较长的query,也就是我们常说的slowquery,
通过设--log-slow-queries[=file_name]来打开该功能并设置记录位置和文件名,默认文件名为hostname-slow.log,默认目录也是数据目录。 慢查询日志采用的是简单的文本格式,可以通过各种文本编辑器查看其中的内容。
其中记录了语句执行的时刻,执行所消耗的时间,执行用户,连接主机等相关信息。
MySQL还提供了专门用来分析满查询日志的工具程序mysqlslowdump,用来帮助数据库管理人员解决可能存在的性能问题。

mysql> show global variables like '%slow%';
slow_query_log_file = /var/lib/mysql/slowsql.log

6、Innodb的在线redo日志 innodb redolog

Innodb是一个事务安全的存储引擎,其事务安全性主要就是通过在线redo日志和记录在表空间中的undo信息来保证的。
redo日志中记录了Innodb所做的所有物理变更和事务信息,通过redo日志和undo信息,Innodb保证了在任何情况下的事务安全性。
Innodb的redo日志同样默认存放在数据目录下,可以通过 innodb_log_group_home_dir来更改设置日志的存放位置,通过innodb_log_files_in_group设置日志的数量。
innodb_log_buffer_size = 2M
innodb_log_file_size = 32M
innodb_log_files_in_group = 3
 

MySQL 各类日志文件介绍的更多相关文章

  1. MySQL各类日志文件相关变量介绍

    文章转自:http://www.ywnds.com/?p=3721 MySQL各类日志文件相关变量介绍 查询所有日志的变量   1 mysql> show global variables li ...

  2. MySQL 各类数据文件介绍

    数据文件 在MySQL中每一个数据库都会在定义好(或者默认)的数据目录下存在一个以数据库名字命名的文件夹,用来存放该数据库中各种表数据文件. 不同的MySQL存储引擎有各自不同的数据文件,存放位置也有 ...

  3. Mysql Binlog日志文件介绍

    一.Binlog简介 官方文档参考 https://dev.mysql.com/doc/refman/5.5/en/binary-log.html Binlog(Binary Log) 指数据库的表创 ...

  4. MySQL的日志文件

    本文将重点介绍MySQL的日志文件类型,并讲解其作用,并结合一定实操演示,相信跟着做下来你会对MySQL有更深的理解. 文件的概念 在开始讲MySQL日志文件之前,首先我们要明确一下文件的概念.MyS ...

  5. mysql 的日志文件

    mysql的日志文件 日志文件大致分为  error log, binary log, query log, slow query log, innodb redo log ;如图: 1.error ...

  6. [转载]mysql慢日志文件分析处理

    原文地址:mysql慢日志文件分析处理作者:maxyicha mysql有一个功能就是可以log下来运行的比较慢的sql语句,默认是没有这个log的,为了开启这个功能,要修改my.cnf或者在mysq ...

  7. mysql基础---日志文件

    一 基本日志文件 MYSQL有不同类型的日志文件(各自存储了不同类型的日志),从它们当中可以查询到MYSQL里都做了些什么,对于MYSQL的管理工作,这些日志文件是不可缺少的. 1.错误日志(The ...

  8. MySQL数据库日志文件(redo与undo)

    +++++++++++++++++++++++++++++++++++++++++++标题:MySQL数据库日志文件时间:2019年2月25日内容:MySQL数据库日志文件(redo日志和undo日志 ...

  9. MySQL二进制日志功能介绍

    二进制日志记录所有更新数据的SQL语句,其中也包含可能更新数据的SQL语句,例如DELETE语句执行过程中无匹配的行.二进制日志中还包含了与执行SQL语句相关的内容,例如SQL语句执行的时间.错误代码 ...

随机推荐

  1. OSB开发常用资料

    成功搭建OSB环境并运行HelloWorld项目 http://www.beansoft.biz/?p=2066 Oracle Service Bus 11gR1开发环境安装文档 http://www ...

  2. PDA开发数据由本地上传至DB

    private void btnUpLoad_Click(object sender, EventArgs e) { if (!System.IO.File.Exists(LoadFile)) { M ...

  3. myfirstBI项目总结

    app 应用信息统计: saiku安装:http://blog.csdn.net/longshenlmj/article/details/17359645 workbench解压即用,http://b ...

  4. Oracle与Mysql时间格式化

    一,Oracle格式化时间: Oracle 获取当前日期及日期格式 获取系统日期:  SYSDATE()    格式化日期:     TO_CHAR(SYSDATE(),'YY/MM/DD HH24: ...

  5. DB Query Analyzer 5.02 is distributed, 53 articles concerned have been published

    DB Query Analyzer is presented by Master Gen feng, Ma from Chinese Mainland. It has English version ...

  6. 使用XStream是实现XML与Java对象的转换(4)--转换器

    七.转换器(Converter) 我们程序中的POJO是千变万化的,而且需求也是千奇百怪的,所以XStream中的内置的转换器的功能不一定能够满足我们的要求,所以我们就需要自己构建转换器. 1,一个基 ...

  7. dsd

    nodeName属性 nodeName属性规定节点的名称 nodeName是只读的 元素节点的nodeName与属性名相同 属性节点的nodeName与属性名相同 文本节点nodeName始终是#te ...

  8. Jquery getJSON方法分析

    准备工作 ·Customer类 public class Customer {     public int Unid { get; set; }     public string Customer ...

  9. 简单工厂,Factory Method(工厂方法)和Abstract Factory(抽象工厂)模式

    对于简单工厂来说,它的工厂只能是这个样子的 public class SimplyFactory {  /** * 静态工厂方法 */ public static Prouct factory(Str ...

  10. saltstack安装部署以及简单实用

    一,saltstack简介:     SaltStack是一种新的基础设施管理方法开发软件,简单易部署,可伸缩的足以管理成千上万的服务器,和足够快的速度控制,与他们交流,以毫秒为单位. SaltSta ...