1. 簡介

mysqlbinlog flashback(閃回)用于快速恢復由于誤操作丟失的數(shù)據(jù)。在DBA誤操作時,可以把數(shù)據(jù)庫恢復到以前某個時間點(或者說某個binlog的某個pos)。比如忘了帶where條件的update、delete操作,傳統(tǒng)的恢復方式是利用全備+二進制日志前滾進行恢復,相比于傳統(tǒng)的全備+增備,flashback顯然更為快速、簡單。

目前MySQL的flashback功能是利用binlog完成的,第一個實現(xiàn)該功能的是阿里云的彭立勛, 他在MySQL 5.5版本上就已實現(xiàn),并將其提交給MariaDB。

 

回到頂部

2. 閃回原理

原理:flashback工具(-B 參數(shù))可對rows格式的binlog可以進行逆向操作,delete反向生成insert、update生成反向的update、insert反向生成delete。

MySQL的binlog以event的形式,記錄了MySQL中所有的變更情況,利用binlog我們就能夠重現(xiàn)所記錄的所有操作。

MySQL引入binlog主要有兩個用途/目的:一是為了主從復制;二是用于備份恢復后需要重新應用部分binlog,從而達到全備+增備的效果。

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設計培訓,網(wǎng)站建設培訓學習是年輕人改變自己的最好方式