MySQL学习笔记-1

I、MySQL基本逻辑架构 MySQL学习笔记-1
文章图片

分层 组件 功能
server层 连接器、查询缓存、分析器、优化器、执行器、内置函数等 存储过程、触发器、视图
存储引擎层 InnoDB、MyISAM、Memory等(默认InnoDB) 数据的存储和提取
注:建表时使用参数engine=$engine指定存储引擎; server为所有类型的存储引擎共用。

II、一条SQL语句如何执行 MySQL学习笔记-1
文章图片

III、redo log和binlog
redo log redo log binlog
参数 innodb_flush_log_at_trx_commit=1 sync_binlog=1
作用 crash-safe 归档
分层 引擎特有 server层共有
支持引擎 InnoDB 不区分引擎
日志级别 物理日志 逻辑日志
写入方式 循环写 追加写
存储占有 固定 不固定
注:redo log的过程与《孔乙己》掌柜记账形象化类比理解

IV、两阶段提交 【MySQL学习笔记-1】MySQL学习笔记-1
文章图片

1、两阶段提交:redo log的写入拆成了两个步骤:prepare和commit。
2、应用场景:数据库恢复和扩容。
3、目的:怎样让数据库恢复到半个月内任意一秒的状态?
4、如果不使用两阶段提交:数据库的状态就有可能和用它的日志恢复出来的库的状态不一致。

    推荐阅读