如题
一夕伊人醉 0 在 MySQL 中,binlog 和 redo log 的作用是不同的。 redo log:是 MySQL 引擎层面上的日志,用于确保在数据库崩溃时可以恢复到最近的一个提交点。它记录了在内存中对数据进行修改的操作,然后异步刷写到磁盘中。 binlog:是 MySQL 服务器层面上的日志,用于记录对数据库进行的所有更改操作。它记录的是完整的 SQL 语句。 因此,这两种日志的一致性是由 MySQL 引擎层面上的 redo log 来保证的。 在 MySQL 中,当执行一个事务时,事务中的 SQL 语句会被先写入 redo log,然后再写入 binlog。这是因为如果在写入 binlog 之前数据库发生崩溃,redo log 可以用于回滚事务,从而保证数据的一致性。只有在 redo log 已经成功写入磁盘后,才会将 SQL 语句写入 binlog。 因此,binlog 和 redo log 之间的一致性是由 MySQL 引擎层面上的事务提交机制保证的。在执行一个事务时,MySQL 会先将修改操作写入 redo log,并刷写到磁盘中,然后才会将完整的 SQL 语句写入 binlog,确保数据的一致性。如果在写入 binlog 之前数据库发生崩溃,redo log 可以用于回滚事务,保证数据的一致性。5个月前
回答1
只看作者最新最热
-
- Java 8 简明教程
- 本教程将带领你一步一步地认识这门语言的新特性。通过简单明了的代码示例,你将会学习到如何使用默认接口方法,Lambda表达式,方法引用和重复注解。看完这篇教程后,你还将对最新推出的API有一定的了解,例如:流控制,函数式接口,map扩展和新的时间日期API等等。
-
- Java新特性解读
- 盘点Java8之后的各种新特性学习
-
- Spring Boot 1.x 入门教程
- Spring Boot 1.x版本入门教程,全网最早连载的的免费Spring Boot经典教程
-
- Spring Boot 2.x 入门教程
- Spring Boot 2.x版本入门教程,全网最早连载的的免费Spring Boot经典教程
-
- Spring Cloud教程
- 全网最早最全最持久的Spring Cloud教程,内容涵盖经典Netflix套件、Aliababa套件
-
- 开发者安装大全
- 该专栏主要创作、整理、汇总开发者常用的好用软件、编程环境、中间件等工具的安装,以指导开发者快速搭建自己的需要的开发环境。
-
- 玩转 IntelliJ IDEA
- 收录各种IDEA的使用技巧、实用插件