[MySQL] 日志文件概述

这里介绍的日志文件都是MySQL本身的日志文件,和具体用什么存储引擎无关。MySQL有以下几种日志文件:
1)错误日志:记载启动和关闭情况、异常和错误信息
2)常规查询日志:包含客户连接记录、SQL查询语句等
3)慢查询日志:记录“慢”的SQL查询语句,“慢”由long-query-time参数指定(默认为10s)
4))二进制日志及其索引文件:记录数据修改语句(如update,delete,insert,create table,drop table,grant等)
5)中继日志及其索引文件:对于主从复制架构来说,从服务器记载着从主服务器接收的、但还未执行的数据修改记录,这就是中继日志,因此中继日志和二进制文件格式一样。
下表给出了配置这些日志文件的相关参数:


错误日志

MySQL的错误日志类似于Oracle的alert.log,默认名为hostname.err结尾,DBA在遇到问题时,首先应该查询该日志获得错误信息。错误日志的信息量由log_warnings参数设置(0~2),flush log语句将导致原日志重命名为_old后缀。

常规查询日志

常规查询日志记录了数据库的所有SQL查询语句,即时这些请求没有得到正确的执行。MySQL根据它收到语句的先后顺序写入,这个顺序与执行顺序有可能不一致。
常规查询日志的默认名为hostname.log

慢查询日志

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

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

慢查询日志主要用于协助DBA进行SQL语句的优化,可以使用mysqldumslow工具对它的内容进行汇总。


二进制日志

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

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

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

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

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

顾名思义,二进制日志采用二进制格式记录,因此必须使用mysqlbinlog工具读取它。

二进制日志的默认名为hostname-bin.xxxxx,其中结尾是5个数字的顺序编号。

如果启用了二进制日志,则默认有一个和它配套的索引文件,默认的索引名为hostname-bin.index。

二进制日志里记载的事件可以基于语句或基于数据行的格式(有binlog_format参数设置,允许使用的值有ROW,STATEMENT和MIXED),默认值为MIXED,其含义是以给予数据行格式为主,只在确有必要时才使用基于语句的格式。


中继日志

中继日志是指复制机制中的从服务器把来自主服务器的二进制日志写入一个临时收容所,因此它的结构和格式和二进制日志一样,也有一个与之配置的索引文件,这里就不再累述。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值