1. 簡介

mysqlbinlog flashback(閃回)用于快速恢復(fù)由于誤操作丟失的數(shù)據(jù)。在DBA誤操作時,可以把數(shù)據(jù)庫恢復(fù)到以前某個時間點(或者說某個binlog的某個pos)。比如忘了帶where條件的update、delete操作,傳統(tǒng)的恢復(fù)方式是利用全備+二進制日志前滾進行恢復(fù),相比于傳統(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主要有兩個用途/目的:一是為了主從復(fù)制;二是用于備份恢復(fù)后需要重新應(yīng)用部分binlog,從而達到全備+增備的效果。

延伸閱讀

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