binlog. redo log. undo log

binlog

    恢复使能够最大可能地更新数据库,因为二进制日志包含备份后进行的所有更新。
    在主复制服务器上记录所有将发送给从服务器的语句。

redolog

   记录的是新数据的备份。在事务提交前,只要将redolog持久化即可,不需要将数据持久化。当系统崩溃时,虽然数据没有持久化,
   但是redolog已经持久化。系统可以根据redolog的内容,将所有数据恢复到最新的状态。

undolog

    实现事务的原子性,在MySQL数据库InnoDB存储引擎中,还用undolog来实现多版本并发控制(简称:mvcc)。
    事务中的所有操作,要么全部完成,要么不做任何操作,不能只做部分操作。如果在执行的过程中发了错误,要回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过。
    为了满足事务的原子性,在操作任何数据之前,首先将数据备份到一个地方。然后进行数据的修改。如果出现了错误或者用户执行了rollback语句,系统可以利用Undolog中的备份将数据恢复到事务开始之前的状态。
    除了可以保证事务的原子性,Undolog也可以用来辅助完成事务的持久化.

原文地址:https://www.cnblogs.com/zyh-s/p/13253654.html