MySQL 日志

MySQL 日志

简介

MySQL innodb引擎中有6种日志:

  • 重做日志(redo log):

  • 回滚日志(undo log):

  • 二进制日志(binlog):

  • 错误日志(errorlog)

  • 慢查询日志(slow query log)

  • 一般查询日志(general log)

  • 中继日志(relay log)

日志

redo log

  • 物理日志;

  • wal;

  • 在事务开始时产生;

  • innodb层产生的;

  • 用来恢复数据的 用于保障已提交事务的持久化特性;

undo log

  • 逻辑日志;

  • 用于事务失败时的回滚操作,保障事务的原子性;

bin log

  • 用于复制;

  • binlog的内容是二进制的,根据binlog_format参数的不同,可能基于sql语句、基于数据本身或者二者的混合。

  • MySQL的服务器层(可以参考文章前面对MySQL逻辑架构的介绍)实现的,同时支持InnoDB和其他存储引擎。

  • binlog在事务提交时写入

参考

  1. MySQL innoDB——redo log/undo log - 简书

  2. MySQL 日志:undo log、redo log、binlog 有什么用? | 小林coding

updatedupdated2024-05-052024-05-05