用于主从复制,从库利用主库上的bin log进行重播,实现主从同步
也可用于恢复数据
2、内容是一种逻辑日志,即保存的是增删改的SQL语句
3、持久化时间在事务提交时一次性写入
4、清除时间根据参数expire_logs_days配置
二、redo log(重做日志) 1、作用保证数据库事务的持久性。当数据库突发故障导致数据未写入时,可在数据库重启后根据redo log重做,以保证事务的持久性
2、内容是一种物理日志,记录的是物理数据页面的修改的信息
3、持久化时间事务执行过程中定期写入
4、清除时间数据库的数据完成持久化(写入到磁盘)后即可释放
三、undo log(回滚日志) 1、作用保证事务原子性,并为MVCC提供实现基础
2、内容是一种逻辑日志,与bin log不同的是保存增删改相反的SQL语句
3、持久化时间实时产生,但只保存在内存中,不会持久化到磁盘中。数据库宕机恢复由redo log负责
4、清除时间当事务提交之后,undo log并不能立刻被删除,而是放入待清理列表。当被判断为不被MVCC需要时即可清除
四、bin log与redo log对比两者都可以用于恢复数据,但
bin是数据库层面的,redo是InnoDB提供的
bin是逻辑日志,redo是物理日志,所以redo的恢复效率更高
还有一种慢查询日志,会在讲慢查询时单独介绍



