mysql获取逻辑日志_Mysql 逻辑架构图及日志系统
1、Mysql邏輯架構(gòu)圖
場景一:一條SQL語句如何執(zhí)行?
如圖顯示一條SQL語句的執(zhí)行過程:
執(zhí)行器的執(zhí)行流程:
2、Mysql日志系統(tǒng)
說到日志系統(tǒng),需要了解幾個(gè)概念:creash-safe、redo log、binlog、WAL技術(shù)。
Redo log用于保證crash-safe能力。innodb_flush_log_at_trx_commit?=1表示每次事務(wù)的redo log 都持久化到磁盤,保證mysql異常重啟之后數(shù)據(jù)不丟失。Sync_binlog=1參數(shù)設(shè)置為1,表示每次事務(wù)的binlog都持久化到磁盤,保證mysql異常重啟之后binlog不丟失。
Crash-safe:有了redo log,InnoDB就可以保證即使數(shù)據(jù)庫發(fā)生異常重啟,之前提交的記錄都不會(huì)丟失。
日志系統(tǒng)只要有2個(gè)模塊:存儲(chǔ)引擎里的redo log日志;服務(wù)器-執(zhí)行器中的binlog歸檔日志。
WAL技術(shù):Write-Ahead Loggin,先記錄到歸檔日志redo log里面,更新完成。InnoDB引擎在適當(dāng)?shù)臅r(shí)候,將這個(gè)更新記錄更新到(服務(wù)器-執(zhí)行器)磁盤。(閑時(shí))
PS:歸檔日志大小可以進(jìn)行配置
場景一:一條SQL更新語句是如何執(zhí)行的?
前提:創(chuàng)建表 create table T(ID int primary key,c int),插入一條ID=2的語句。
總結(jié)
以上是生活随笔為你收集整理的mysql获取逻辑日志_Mysql 逻辑架构图及日志系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 批量修改栏目名_Endnote中英文混排
- 下一篇: vant 项目_vueCli4+vant