[MySQL] 日志文件概述

这里介绍的日志文件都是MySQL数据库本身的文件,和具体用什么存储引擎无关。

错误日志

MySQL的错误日志类似于Oracle的alert.log,默认情况下以.err结尾,DBA在遇到问题时,首先应该查询该日志获得错误信息。

查询日志

查询日志记录了所有的数据库请求,即时这些请求没有得到正确的执行。

慢查询日志

慢查询日志用于记录运行时间比较长的SQL语句,可以通过参数long_query_time来设置该阀值。默认情况下,MySQL并不启动慢查询日志,可以通过设置log_slow_queries为ON启动它。

另一个和慢查询日志相关的参数是log_queries_not_using_indexes,该参数为ON表示如果运行的SQL语句没有使用索引,就将其记录到慢查询日志中。

慢查询日志主要用于协助DBA进行SQL语句的优化。


二进制日志

二进制日志记录了所有数据库的更改操作(SELECT和SHOW不包含在里面),二进制文件在默认情况下没有启动,需要手动指定参数启动。

二进制日志主要有以下两个作用:

1)恢复(recovery):当一个数据库从全备文件恢复后,我们可以通过二进制日志进行point-in-time恢复。

2)复制(replication):可以利用它实行从数据库的实时同步。


开启二进制文件会影响性能(根据官方文档显示,开启二进制文件使得数据库性能下降1%左右),但考虑到它带来的好处,这些性能损失还是可以接受的。

原文地址:https://www.cnblogs.com/dyllove98/p/3132768.html