Redo日志--mysql详解(九)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Redo日志--mysql详解(九)

篇文章说了,刷新数据是通过页为单位,不可能每次查询都从磁盘查询,于是有了buffer pool,通过freeflush来刷新到磁盘,系统正常关闭,系统空闲,内存不足时候刷新。lru链表为了提高缓存命中率来刷新页到磁盘。后面介绍了acid,原子性代表在一个事务里要么全部成功要么全部失败,一致性官方文档解释是除了数据库的主键唯一建等约束外,还有业务的约束保证一直性,新增和扣减必须一致。

Buffer pool--mysql详解(八)


Redo日志


我们为了保证持久化,每次都需要把数据刷新到磁盘上,但我们是根据页来刷新的,并且修改一条sql语句可能包含很多页,但每个页值修改一个字节,很少的数据,这时候总不能直接持久化,但如果系统宕机了,数据没有持久化就会丢失,于是,redo日志就出现了(重做日志)。


Redo日志有两个特点,占用非常小,并且顺序写入磁盘(页的存放是随机I/O)。


所以redo日志大致就是typespace id表空间idpage numer页号,data 日志具体内容。

前面说过当表没有主键或者唯一建,这时候会给一个隐藏的row_id,有个max_row_id是一个全局变量,每次插入会自增1


我们在执行一条修改语句会修改很多数据,比如索引的几棵b+树,树上的内节点和叶子节点等,也可能创建新页面。


Redo日志有日志缓冲区,类似于buffer pool,会申请redo log buffer连续内存,默认16mb

这个缓冲区是干嘛的呢,前面我们说了真实刷新数据是在buffer pool里面,但是在存储之前会记录数据到redo log日志上,redo log有点就是占用小,并且顺序I/O,变相来说,redo log实现了从随机I/O变成了顺序I/O,当然buffer pool本身是刷数据还是随机I/O


Log sequence number:系统运行会不断修改页面生成redo日志,当前默认值是8704,随着redo日志越来越多而升高。Redo日志每条数据都有唯一lsn值,lsn值越小,则代表越早生成。

如何查看系统中的各种lsn值呢,通过show engine innodb

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2天前
|
监控 关系型数据库 MySQL
《MySQL 简易速速上手小册》第7章:MySQL监控和日志分析(2024 最新版)
《MySQL 简易速速上手小册》第7章:MySQL监控和日志分析(2024 最新版)
43 3
|
2天前
|
存储 安全 关系型数据库
Mysql 的binlog日志的优缺点
MySQL的binlog(二进制日志)是一个记录数据库更改的日志文件,它包含了所有对数据库执行的更改操作,如INSERT、UPDATE和DELETE等。binlog的主要目的是复制和恢复。以下是binlog日志的优缺点: ### 优点: 1. **数据恢复**:当数据库出现意外故障或数据丢失时,可以利用binlog进行点恢复(point-in-time recovery),将数据恢复到某一特定时间点。 2. **主从复制**:binlog是实现MySQL主从复制功能的核心组件。主服务器将binlog中的事件发送到从服务器,从服务器再重放这些事件,从而实现数据的同步。 3. **审计**:b
|
2天前
|
SQL 关系型数据库 MySQL
Mysql 的binlog日志的原理【4月更文挑战第1天】
【4月更文挑战第1天】 MySQL的binlog(二进制日志)是一个记录数据库更改的日志文件,它主要用于复制和恢复操作。以下是binlog日志的工作原理的简要概述: **事件写入**:当MySQL服务器执行一个事务时,它会将该事务中所有对数据库的修改操作(如INSERT、UPDATE和DELETE等)记录为一个事件(event)。这些事件包含了修改操作的相关信息,如操作类型、涉及的表、修改的行等。
|
2天前
|
关系型数据库 MySQL 数据管理
MySQL通过 bin-log 恢复从备份点到灾难点之间数据
MySQL通过 bin-log 恢复从备份点到灾难点之间数据
|
2天前
|
DataWorks 关系型数据库 MySQL
DataWorks产品使用合集之在DataWorks中,如何通过PolarDB for MySQL来查看binlog日志
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
31 1
|
2天前
|
SQL 监控 关系型数据库
【MySQL学习】MySQL的慢查询日志和错误日志
【MySQL学习】MySQL的慢查询日志和错误日志
|
2天前
|
SQL 存储 关系型数据库
MySQL慢日志的介绍以及如何使用问题
MySQL慢日志的介绍以及如何使用问题
22 0
|
2天前
|
存储 SQL 关系型数据库
mysql数据库日志
mysql数据库日志
|
2天前
|
SQL 存储 关系型数据库
Mysql主从同步 清理二进制日志的技巧
Mysql主从同步 清理二进制日志的技巧
13 1
|
2天前
|
SQL 存储 关系型数据库
mysql bin-log日志导出
mysql bin-log日志导出

推荐镜像

更多