格式:包括Statement、Row和Mixed三种格式,分别记录SQL语句、数据行变化和两者的结合。特点:在主库和从库之间的数据同步中起着重要作用,但格式的不同会影响复制性能和一致性。总结: redo日志和undo日志主要用于事务的处理和恢复,确保数据的完整性和持久性。 binlog日志则主要用于数据恢复和主从复制,保...
数据库篇:mysql日志类型之 redo、undo、binlog
MySQL中的日志类型主要包括redo日志、undo日志和binlog日志,它们各自的作用如下:
redo日志:
作用:优化磁盘I/O性能,确保事务的持久性。存储位置:首先存储在log buffer中,达到一定条件后同步到磁盘。特点:占用空间小,通过顺序写入提高效率。数据页同步后,对应redo日志会被回收。undo日志:
作用:实现事务的原子性,支持回滚和多版本控制。存储方式:事务产生的多个undo日志存储在专用的undo页链表中。特点:事务提交后,大部分undo日志会被删除,但为MVCC服务的日志会保留。binlog日志:
作用:记录数据库更改的历史,用于数据恢复和主从复制。格式:包括Statement、Row和Mixed三种格式,分别记录SQL语句、数据行变化和两者的结合。特点:在主库和从库之间的数据同步中起着重要作用,但格式的不同会影响复制性能和一致性。总结: redo日志和undo日志主要用于事务的处理和恢复,确保数据的完整性和持久性。 binlog日志则主要用于数据恢复和主从复制,保证数据的一致性和可用性。
2025-03-31