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
binlog