Open zhanggao opened 4 years ago
undo log(回滚日志)
WAL 先写日志,再写磁盘,redo log写成功了事务就算成功了。
update t set c=c+1 where id=2; 1、取id=2这行; 2、如果数据页不在内存中,则从磁盘中读入内存; 3、返回该行的值; 4、将这行的c加1; 5、写入新行; 6、新行更新到内存; 7、写入redolog,处于prepare阶段; 8、写入binlog; 8、提交事务,处于commit阶段
恢复数据到任意时间点t1: 取出t1之前的全量备份a,应用a时间点开始的binlog执行到t1时间点。
redo log(重做日志):
binlog(归档日志):