binlog
什么是binlog
mysql数据库变更的记录,不包括查询,这样说起来就好像有点redis的aof文件的味道
binlog的作用
- mysql进行主从复制的时候可以用binlog来恢复数据
- 数据库中数据发生变化对于的索引的数据也要变化,要产生这种变化可以通过监听binlog来实现
redo log
redo log记录的是数据库的物理变化(xxxx页修改了xxx)。mysql对数据修改是先吧对应的页面加载到内存,然后在内存中把数据给修改了。如果这个记录没有马上写到物理磁盘中那就写一份redo log,mysql就可以通过redo log来恢复数据。
undo log
undo log记录的是事务中的回滚操作,比如一个事务在进行过程中产生了异常导致事务的失败,这个时候就可以根据undo log来回滚事务中的失败操作。