MySQL的wal机制,得到的结论是:只要redo log和binlog 持久化到磁盘,就能确保mysql异常重新启动后,数据是可以恢复的. binlog的写入机制 其实,binlog的写入逻辑比较简单:事务执行过程中,先把日志写到binlog cache,事务提交的时候,再把binlog cache的内容写到binlog文件中. 一个事务的binlog是不能被拆开的,因此不论事务多大,也要确保一次性写入,这就涉及到binlog cache的保存问题. 系统给binlog cache分配了一片内…