- 博客(5)
- 收藏
- 关注
原创 MySQL主从复制:binlog与redo log解析
MySQL的日志系统主要包括binlog和redolog两种核心日志。binlog是Server层生成的归档日志,记录所有表结构和数据修改操作,用于主从复制和数据恢复;redolog是InnoDB引擎层的物理日志,保障crash-safe能力。两者通过两阶段提交机制保证数据一致性:prepare阶段写入redolog,commit阶段写入binlog。为提高性能,MySQL采用组提交技术,将多个事务的日志刷盘操作合并执行。主从复制基于binlog实现,包含异步、同步和半同步三种模式,其中异步复制是默认方式。
2025-11-14 21:13:55
1027
原创 InnoDB事务日志机制:undo与redo详解
InnoDB的核心日志与缓冲机制详解: undo Log:实现事务原子性和MVCC机制,记录更新操作的逆操作,通过redo Log间接持久化。 Buffer Pool:内存缓存区,提升数据库性能,缓存数据页和索引页,脏页异步刷盘依赖redo Log保证数据安全。 redo Log:物理日志,保障事务持久性,采用WAL机制提升写性能,通过redo Log Buffer缓冲后按策略刷盘。 三者协同工作:undo Log记录历史版本,redo Log保证数据持久,Buffer Pool优化性能。关键设计是&quo
2025-11-07 10:44:16
648
原创 深入理解事务的ACID特性与隔离级别
摘要:本文系统介绍了数据库事务的核心概念,重点分析了事务的ACID特性及其实现机制。首先阐述了原子性(undolog)、一致性(ACID共同保障)、隔离性(MVCC/锁)和持久性(redolog)的技术实现路径。其次详细讨论了并发事务可能引发的脏读、不可重复读和幻读问题,并比较了四种隔离级别(读未提交、读已提交、可重复读、串行化)对应的解决方案。特别指出MySQL InnoDB引擎通过MVCC(版本控制)和next-KeyLock两种方式解决幻读问题。最后深入解析了MVCC实现原理,包括ReadView四要
2025-10-29 16:33:07
721
原创 MySQL锁机制详解:全局锁到行锁全解析
MySQL锁机制主要分为全局锁、表级锁和行级锁三类,用于解决并发访问问题。全局锁(FTWRL/readonly)用于全库备份,但会阻塞业务;表级锁包括表锁、元数据锁(MDL)、意向锁和AUTO-INC锁,其中MDL可防止表结构变更导致的数据不一致;行级锁(记录锁、间隙锁、临键锁)提供更细粒度控制,InnoDB支持行锁而MyISAM不支持。不同锁具有特定的互斥关系和释放机制,合理使用可平衡数据一致性与并发性能。建议根据业务场景选择合适的锁机制,如批量插入时使用轻量级AUTO-INC锁,并注意主从复制环境下的锁
2025-10-22 20:17:39
740
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅