5分鐘精通MySql數(shù)據(jù)寫入原理

數(shù)據(jù)記錄順序
1.寫入undo log,為了支持數(shù)據(jù)回滾,也是實現(xiàn)a(原子性)
2.寫入buffer pool,等待寫入磁盤,調用odirec之間寫入,不經過os的page cache
3.寫入redo log buffer中,并將操作立刻刷盤寫入redo log中,mysql重啟后會從redo log中恢復數(shù)據(jù),實現(xiàn)了acid中的d(持久性)
4.進行binlog刷盤,binlog是二進制文件,記錄ddl和dml操作,用于數(shù)據(jù)庫主從同步,備份恢復,使用mysqlbinlog file_name查看文件內容
5.刷盤成功后,通知redo log,為本次事務打上commit標簽,用于重啟后數(shù)據(jù)恢復
標簽: