Mongodb全備 增備 oplog恢復誤刪資料

2021-10-06 13:53:21 字數 1920 閱讀 2181

買了兩瓶進口白蘭地,想著品嚐品嚐,我基本上一年也不喝酒,當然除了過年的時候是避免不了的。在上班期間邊喝邊醉邊工作。太勁大了,一看才四十度。感覺比國內的後勁大得多,基本上喝上六七口就上頭,完全扛不住的節奏。我都沒敢想伏特加,估計更扛不住。不過酒還是要少喝。

言歸正傳,mongo這幾年也好多公司再用了,於是特地做了乙個mongodb隨意刪除資料後恢復測試的實驗:

此時測試表中有7條資料,做個全備。

全備:

mongodump --host=192.168.43.43 --port=37017 --oplog --out=/opt/mongo/fullbackup

在插入一條:

做增備時利用剛剛查詢到的時間去做:

mongodump --host=192.168.43.43 --port=37017 -d local -c oplog.rs --query='}' --out=/opt/mongo/oplog_cribak
全備時,有七條資料,增備時,新增了一條,共八條。這個時候在模擬誤刪除兩條資料。刪除後集合中剩餘6條資料。

接下來,需要恢復誤刪的兩條資料:

1、先進行全備恢復。看一下全備目錄中的資料,總共7條,和最開始進行全備的資料是一致的,也是7條。

2、增備目錄中的oplog記錄的第八條資料的ts記錄。可以看到增備中的七條資料+增備中的一條ts記錄資料,共八條,是沒問題的。

3、進行恢復。

先全備恢復,在增備恢復。

全備恢復:

增備恢復:

mongorestore --host=192.168.43.43 --port=37017 --oplogreplay --oploglimit=1574845947:3 --dir=./incre_bak
結果檢視:

恢復後,進行登入資料庫檢視:此時是8條資料,已經恢復全。

xtrabackup全備 增備 恢復

全備 innobackupex no timestamp defaults file path my.cnf data backup 20141106 增量1 innobackupex no timestamp defaults file path my.cnf incremental increm...

xtrabackup備份(全備,增備)

xtrabackup的介紹 mysql冷備 mysqldump mysql熱拷貝都無法實現對資料庫進行增量備份。在實際生產環境中增量備份是非常實用的,如果資料大於50g或100g,儲存空間足夠的情況下,可以每天進行完整備份,如果每天產生的資料量較大,需要定製資料備份策略。例如每週實用完整備份,周一到...

mysql怎麼做增備 mysql的全備和增量備份

26 張立 工作原理就是把每次完整備份的binlog 和postion取出,做增量備份的時候取當時的binlog和postion,使用mysqlbinlog 把這之間的資料讀出到另乙個檔案。一 完整備份 vim full mysqldump.sh bin bash dir info date dat...