Write-Ahead Logging,预写日志系统即当有数据更新请求的时候,先写日志,再改内存,等“有空”的时候再落磁盘(刷脏页)。WAL机制的好处,因为写日志是磁盘顺序IO,而直接写磁盘是随机IO,性能较差。
MySQL server层自己的归档日志叫做binlog (binary log)。binlog会记录所有逻辑操作,采用“追加写”的方式,log不会被覆盖。
binlog有三种格式(binlog_format),一种叫statement, 一种叫row, 第三种叫mixed, 是前两种的混合。举个栗子