mysql获取逻辑日志_Mysql 逻辑架构图及日志系统
生活随笔
收集整理的這篇文章主要介紹了
mysql获取逻辑日志_Mysql 逻辑架构图及日志系统
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、Mysql邏輯架構圖
場景一:一條SQL語句如何執行?
如圖顯示一條SQL語句的執行過程:
執行器的執行流程:
2、Mysql日志系統
說到日志系統,需要了解幾個概念:creash-safe、redo log、binlog、WAL技術。
Redo log用于保證crash-safe能力。innodb_flush_log_at_trx_commit?=1表示每次事務的redo log 都持久化到磁盤,保證mysql異常重啟之后數據不丟失。Sync_binlog=1參數設置為1,表示每次事務的binlog都持久化到磁盤,保證mysql異常重啟之后binlog不丟失。
Crash-safe:有了redo log,InnoDB就可以保證即使數據庫發生異常重啟,之前提交的記錄都不會丟失。
日志系統只要有2個模塊:存儲引擎里的redo log日志;服務器-執行器中的binlog歸檔日志。
WAL技術:Write-Ahead Loggin,先記錄到歸檔日志redo log里面,更新完成。InnoDB引擎在適當的時候,將這個更新記錄更新到(服務器-執行器)磁盤。(閑時)
PS:歸檔日志大小可以進行配置
場景一:一條SQL更新語句是如何執行的?
前提:創建表 create table T(ID int primary key,c int),插入一條ID=2的語句。
總結
以上是生活随笔為你收集整理的mysql获取逻辑日志_Mysql 逻辑架构图及日志系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 批量修改栏目名_Endnote中英文混排
- 下一篇: linux cmake编译源码,linu