MySQL日志文件

80 阅读2分钟

《MySQL性能调优与架构设计》

在Mysql中有着几个比较重要的日志文件。

Error Log

错误日志,该日志文件是用于记录MySQL Server执行过程中的严重警告和错误信息,该日志文件在MySQL中是默认关闭的,可以通过--log-error[=file_name] 开启,并会记录在数据目录下。

Binary Log && Binary Log Index

Binary Log就是我们常说的Binlog日志,该日志会记录MySQL中所有修改数据库的query,并且以二进制的形式记录。除了会保存query外还会记录该query所执行的时间以及所消耗的资源相关的事务信息。因此BinLog是事务安全的。

BinLog与Error Log相同,都需要显式的方式才能够开启,--log-bin[=file_name] 。BinLog日志还有其他参数可以设置,类似于--max-binlog-size设置单个Binlog日志的最大存储上限,如果超出了该存储上限就会新建一个Binlog(前提是不会分割事务)。--binlog-do-db=db_name设置需要对哪个db记录binlog日志。

BinLog Index(mysql-bin.index)文件的功能是记录Binlog日志的绝对路径,保证MySQL中的每个线程都能够找到它们所需要的binlog。

慢查询日志

--log-slow-queris[=file_name]来开启,会记录query执行时间较长的语句。慢查询采用的是简单的文本格式,可以直接通过文本编辑器查看。方便查找和数据库管理人员优化。

redo log

redo log 是MySQL InnoDB存储引擎保证事务的重要日志文件,redo日志中记录了Innodb所做的所有物理变更和事务信息,通过redo日志和undo信息,Innodb保证了在任何情况下的事务安全性。

总结

以上就是MySQL中比较重要的几个日志文件,当然MySQL中还有其他的日志文件,比如Update Log和query Log,不过这两个日志因为其本身的局限性已经很少使用了。