理論上,只要有數(shù)據(jù)庫備份和對應(yīng)的數(shù)據(jù)庫在線日志,都可以恢復(fù)到任何時間點。
以mysql數(shù)據(jù)庫為例:
誤刪除分為以下幾種情況
1.業(yè)務(wù)數(shù)據(jù)誤刪除,例如delete,tuncate掉不該刪除的業(yè)務(wù)數(shù)據(jù)
2.業(yè)務(wù)表誤刪除,例如droptable,將業(yè)務(wù)刪除
3.數(shù)據(jù)庫文件誤刪除,例如rm掉數(shù)據(jù)庫文件,數(shù)據(jù)庫binlog日志等
針對語句1和2的情況,做了延遲庫的架構(gòu)方案,可以直接從延遲中將數(shù)據(jù)導(dǎo)出,再導(dǎo)入就可以恢復(fù)
第三種情況就稍微復(fù)雜一些,rm掉關(guān)鍵文件,會導(dǎo)致數(shù)據(jù)庫直接崩潰,那就需要對應(yīng)的數(shù)據(jù)庫備份和對應(yīng)的binlog日志進行恢復(fù),如做mysql的主主復(fù)制高可用,當監(jiān)控軟件識別到當前用的主庫已經(jīng)不可用,則會自動將業(yè)務(wù)切換到備用數(shù)據(jù)庫。