mysql中的7种日志


mysql中的7种日志

Binlog:

MySQL最重要的日志(没有之一),记录了所有的DDL和DML语句(除了数据查询语句select、show等),以事件形式记录,DBA依赖它做:高可用方案,异构数据迁移,备份和恢复,误更新回滚。。。。等等 ,是整个MySQL的灵魂,研发/大数据人员依赖Binlog做数据订阅,数据同步。

Relaylog

它是依赖于binlog的日志,格式也和binlog一样。是MySQL复制进程把“别的实例的binlog”复制到本地后,就叫做relaylog。作用是为了MySQL高可用复制服务的一种日志。主要用于数据备份。

Slowlog:

慢查询日志用来记录在MySQL中响应时间超过阀值的语句,则会被记录到慢查询日志中。由long_query_time参数控制,默认值10秒,一般线上环境,我们设置为:0.2秒 或0.5秒两种标准;一般DBA通常会用脚本将日志收集归类,分析后对部分规则产生报警。这个日志是文本类型的,打开就能看到,比较简单,很容易理解,也很有用;主要用于分析运行时间长的sql。

Genlog:

一般轻易不开启,开启以后,会将所有经过的SQL都记录到日志里,非常费资源。

定位奇怪的问题时会用到。审计的时候也能用到。

不建议打开,定位问题后,要及时关闭。

Errorlog:

错误日志记录了当MySQL启动、停止或者服务器运行过程中发生任何严重错误时的相关信息,当数据库出现任何故障导致无法正常使用时,可以首先查看此日志;

Redolog:

可能是最难理解的一个日志了,不同于上面的那些日志,redolog是innodb存储引擎的日志,不是MySQL自身的日志

redolog经常会和binlog/undolog搞混;记住最重要的一点:redolog是为了数据库突然关机或崩溃的时候用的。它的作用是:为了不丢失修改。

redolog通常是物理日志,记录的是数据页的物理修改(区别于binlog的逻辑修改),而不是某一行或某几行修改成怎样怎样,它用来恢复提交后的物理数据页(恢复数据页,且只能恢复到最后一次提交的位置)。

Undolog:

undo和redonlog一样也是是innodb存储引擎的日志,用来回滚行记录到某个版本。undo log一般是逻辑日志,根据每行记录进行记录。

它的作用除了和redolog一起保证数据库突然关机或崩溃的时候,数据不丢失,不混乱。它还是MVCC事务特性的重要组成部分。


文章作者: 威@猫
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 威@猫 !
评论
  目录