Loading

随笔分类 -  mysql

摘要:两阶段提交 事务提交后,redo log 和bin log 都需要刷新到磁盘中,但这两个刷盘是独立的逻辑,可能出现某一个成功,另一个失败的状况。 在将redo log刷盘后,MySQL宕机,binlog没有来得及刷盘。此时在重启MySQL后,会通过redo log 将值更新,但bin log中没有这 阅读全文
posted @ 2023-09-26 15:32 墨鱼yyyl 阅读(117) 评论(0) 推荐(0) 编辑
摘要:bin log binlog文件记录了所有数据库表结构更改和编数据修改的日志。 与redo log的区别 适用对象不同:binlog是server层实现的日志,所有存储引擎都可以使用,而redo log是InnoDB实现的日志。文件格式不同:binlog有三种格式,STATEMENT(默认),ROW 阅读全文
posted @ 2023-09-26 15:31 墨鱼yyyl 阅读(17) 评论(0) 推荐(0) 编辑
摘要:MySQL日志 undo log(回滚日志):由InnoDB生成的日志,实现事务中的原子性,主要用于事务回滚和MVCC。redo log(重做日志):由InnoDB生成的日志,实现事务中的持久性,主要用于掉电等故障恢复。bin log(归档日志):由Server层生成的日志,主要用于数据备份和主从复 阅读全文
posted @ 2023-09-26 15:25 墨鱼yyyl 阅读(73) 评论(0) 推荐(0) 编辑
摘要:MVCC实现机制 mvcc的实现依赖于几个字段 表中的隐藏列: row_id:行id,没有主键和唯一列时默认生成的一个隐藏主键,有的话不生成 6字节trx_id:修改该行的事务id、roll_pointer:回滚指针,指向undo log 版本链 ReadView字段:creator_trx_id、 阅读全文
posted @ 2023-09-26 15:22 墨鱼yyyl 阅读(16) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示