社区
MySQL
帖子详情
MySQL 的 redo log, binlog, undo log, log buffer
水光清浅
2020-05-21 06:36:39
关于 redo log(重做日志)和 binlog(归档日志/二进制日志)、undo log(回滚日志), log buffer 这几个日志怎么理解?
...全文
323
3
打赏
收藏
MySQL 的 redo log, binlog, undo log, log buffer
关于 redo log(重做日志)和 binlog(归档日志/二进制日志)、undo log(回滚日志), log buffer 这几个日志怎么理解?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
宇峰科技
2020-05-30
打赏
举报
回复
https://blog.csdn.net/blogtjf/article/details/106414785
叶落千尘
2020-05-22
打赏
举报
回复
binlog和bin log是一个东西,叫做二进制日志
redo log是一个持续不断写入的日志。是为了保证崩溃恢复
undo log顾名思义是保留事物的上一个版本,为了回滚的日志
log buffer有很多种类,一个是二进制日志的buffer. 一个是redo log的buffer。这是一个在内存的缓冲区
水光清浅
2020-05-21
打赏
举报
回复
mysql 的 binlog 和 bin log日志是一个东西吗? binlog (归档日志) , bin log(二进制日志) ???
MySQL
--
buffer
pool、
red
o
log
、
undo
log
、
bin
log
由于磁盘随机读写的效率很低,
MySQL
为了提供性能,读写不是直接操作的磁盘文件,而是在内存中开辟了一个叫做
buffer
pool的缓存区域,更新数据的时候会优先更新到
Buffer
Pool,之后再由I/O线程写入磁盘。同时为了保证
MySQL
宕机不丢失
buffer
pool中的数据,还引入了一个 叫做
red
o
log
的日志文件 。另外还有用于备份磁盘数据的
bin
log
,用于事务回滚和MVCC的
undo
log
等。对于日志文件则采取顺序读写的方式提高效率。 2.1 2.2
mysql
undo
log
、
red
o
log
、
bin
log
、mvcc、
Buffer
Pool的关系
MySQL
中的
undo
log
、
red
o
log
、
bin
log
和MVCC(多版本并发控制)是数据库管理系统中的重要概念,它们各自有不同的作用和关系。
MySQL
的写入流程
Buffer
Pool、
Red
o
Log
、
Undo
Log
、
Bin
log
、脏页链表
在整个写入流程中,
Buffer
Pool、
Red
o
Log
、
Undo
Log
和
Bin
log
都起着至关重要的作用。
Buffer
Pool提供了快速的内存访问,
Red
o
Log
保证了数据的持久性,
Undo
Log
支持事务回滚和MVCC,而
Bin
log
则用于复制和恢复。
MySQL
的写入流程涉及多个组件和步骤,其中涉及到
Buffer
Pool、
Red
o
Log
、
Undo
Log
、
Bin
log
以及脏页链表等。:如果这是一个需要写入数据的事务,则开始一个新的事务。:数据最终写入到磁盘上,事务完成。
3000帧动画图解
MySQL
为什么需要
bin
log
、
red
o
log
和
undo
log
这是一条很简单的更新SQL,从
MySQL
服务端接收到SQL到落盘,先后经过了
MySQL
Server层和InnoDB存储引擎。在
MySQL
”分析需求,实现方案“的过程中,还夹杂着内存操作和磁盘操作,以及记录各种日志。他们到底有什么用处?他们之间到底怎么配合的?
MySQL
又为什么要分层呢?InnoDB里面的那一块
Buffer
Pool又是什么?我们慢慢分析。
MySQL
为什么要分为Server层和存储引擎两层呢?这个问题官方也没有给出明确的答案,但是也不难猜,简单来说就是为了“解耦”。Server层和存储引擎各
细聊
MySQL
undo
log
、
red
o
log
、
bin
log
有什么用?
我们知道了一条查询语句经历的过程,这属于「读」一条记录的过程,如下图:查询语句执行流程那么, 执行一条 update 语句,期间发生了什么? ,比如这一条 update 语句: UPDATE t_user SET name = 'xiaolin' WHERE id = 1; 查询语句的那一套流程,更新语句也是同样会走一遍:不过,更新语句的流程会涉及到
undo
log
(回滚日志)、
red
o
log
(重做日志) 、
bin
log
(归档日志)这三种日志:所以这次就带着这个问题,看看这三种日志
MySQL
57,064
社区成员
56,762
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章