Skip to content

Commit 1e47f44

Browse files
committed
fix typo: binglog -> binlog
1 parent 89b6108 commit 1e47f44

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

docs/database/mysql/how-sql-executed-in-mysql.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ tag:
2929

3030
简单来说 MySQL 主要分为 Server 层和存储引擎层:
3131

32-
- **Server 层**:主要包括连接器、查询缓存、分析器、优化器、执行器等,所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图,函数等,还有一个通用的日志模块 binglog 日志模块。
32+
- **Server 层**:主要包括连接器、查询缓存、分析器、优化器、执行器等,所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图,函数等,还有一个通用的日志模块 binlog 日志模块。
3333
- **存储引擎**: 主要负责数据的存储和读取,采用可以替换的插件式架构,支持 InnoDB、MyISAM、Memory 等多个存储引擎,其中 InnoDB 引擎有自有的日志模块 redolog 模块。**现在最常用的存储引擎是 InnoDB,它从 MySQL 5.5.5 版本开始就被当做默认存储引擎了。**
3434

3535
### 1.2 Server 层基本组件介绍
@@ -117,7 +117,7 @@ update tb_student A set A.age='19' where A.name=' 张三 ';
117117
* **先写 redo log 直接提交,然后写 binlog**,假设写完 redo log 后,机器挂了,binlog 日志没有被写入,那么机器重启后,这台机器会通过 redo log 恢复数据,但是这个时候 bingog 并没有记录该数据,后续进行机器备份的时候,就会丢失这一条数据,同时主从同步也会丢失这一条数据。
118118
* **先写 binlog,然后写 redo log**,假设写完了 binlog,机器异常重启了,由于没有 redo log,本机是无法恢复这一条记录的,但是 binlog 又有记录,那么和上面同样的道理,就会产生数据不一致的情况。
119119

120-
如果采用 redo log 两阶段提交的方式就不一样了,写完 binglog 后,然后再提交 redo log 就会防止出现上述的问题,从而保证了数据的一致性。那么问题来了,有没有一个极端的情况呢?假设 redo log 处于预提交状态,binglog 也已经写完了,这个时候发生了异常重启会怎么样呢?
120+
如果采用 redo log 两阶段提交的方式就不一样了,写完 binlog 后,然后再提交 redo log 就会防止出现上述的问题,从而保证了数据的一致性。那么问题来了,有没有一个极端的情况呢?假设 redo log 处于预提交状态,binlog 也已经写完了,这个时候发生了异常重启会怎么样呢?
121121
这个就要依赖于 MySQL 的处理机制了,MySQL 的处理过程如下:
122122

123123
* 判断 redo log 是否完整,如果判断是完整的,就立即提交。

docs/database/mysql/mysql-logs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ tag:
210210

211211
![](https://cdn.jsdelivr.net/gh/18702524676/CND5/image/mysql/04/05.png)
212212

213-
虽然性能得到提升,但是机器宕机,`page cache`里面的 binglog 会丢失。
213+
虽然性能得到提升,但是机器宕机,`page cache`里面的 binlog 会丢失。
214214

215215
为了安全起见,可以设置为`1`,表示每次提交事务都会执行`fsync`,就如同**binlog 日志刷盘流程**一样。
216216

0 commit comments

Comments
 (0)