MYSQL执行过程 | redo log与binlog

MYSQL执行过程 | redo log与binlog


WAL —— write-ahead logging 先写日志,后写磁盘
redo log顺序写


一般不建议使用查询缓存,因为一旦表数据发生变化,缓存就失效


redo log 是innodb特有的日志系统,用于crash-safe,物理日志——只对本数据库和引擎可用
binlog 是mysql的日志系统,用于归档,逻辑日志——可用于其他数据库和引擎

  • innodb_flush_log_at_trx_commit 这个参数设置成 1 的时候,表示每次事务的 redo log 都直接持久化到磁盘。这个参数我建议你设置成 1,这样可以保证 MySQL 异常重启之后数据不丢失。
  • sync_binlog 这个参数设置成 1 的时候,表示每次事务的 binlog 都持久化到磁盘。这个参数我也建议你设置成 1,这样可以保证 MySQL 异常重启之后 binlog 不丢失。

redo log
MYSQL执行过程 | redo log与binlog

binlog