偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

MongoDB數據庫誤刪后的恢復

數據庫 其他數據庫 MongoDB
如果部署的是 MongoDB 復制集,這時還有一線希望,可以通過 oplog 來盡可能的恢復數據;MongoDB 復制集的每一條修改操作都會記錄一條 oplog;如果對 MongoDB 做了全量備份 + 增量備份,那么可以通過備份集及來恢復數據。

 

MongoDB數據庫誤刪后的恢復

方法一:通過 oplog 恢復

如果部署的是 MongoDB 復制集,這時還有一線希望,可以通過 oplog 來盡可能的恢復數據;MongoDB 復制集的每一條修改操作都會記錄一條 oplog,所以當數據庫被誤刪后,可以通過重放現有的oplog來「盡可能的恢復數據」。前不久遇到的一個用戶,運氣非常好,數據庫是最近才創(chuàng)建的,所有的操作都還保留在oplog里,所以用戶通過oplog把所有誤刪的數據都找回了。

通過 oplog 恢復數據的流程非常簡單,只需要把oplog集合通過mongodump導出,然后通過mongorestore 的 oplogReplay 模式重放一下。

Step1: 導出 oplog 集合

  1. mongodump -d local -c oplog.rs -d -o backupdir 

Step2: 拷貝oplog集合的數據

 

  1. mkdir new_backupdir  
  2. cp backupdir/local/oplog.rs.bson new_backupdir/oplog.bson 

 

Step3: 重放oplog

  1. mongorestore --oplogReplay new_backupdir 

方法二:通過備份集恢復

如果對 MongoDB 做了全量備份 + 增量備份,那么可以通過備份集及來恢復數據。備份可以是多種形式,比如:

  • 通過 mongodump 等工具,對數據庫產生的邏輯備份
  • 拷貝 dbpath 目錄產生的物理備份
  • 文件系統(tǒng)、卷管理等產生的快照等

從這里其實也可以看出一個問題,就是「部署了多節(jié)點的復制集,為什么還需要做數據備份?」;遇到誤刪數據庫這種問題,dropDatabase 命令也會同步到所有的備節(jié)點,導致所有節(jié)點的數據都被刪除。

 

責任編輯:龐桂玉 來源: segmentfault
相關推薦

2018-04-28 15:28:44

數據庫MySQL誤刪除

2017-07-14 15:49:05

MongoDB誤刪表恢復步驟

2017-10-26 10:25:07

數據恢復服務

2017-04-01 18:30:47

MySQL誤刪除數據庫

2011-07-26 13:55:01

MongoDB備份與恢復

2011-08-01 14:50:10

日志挖掘數據庫

2011-03-30 14:08:27

MySQL數據庫刪除恢復

2024-12-31 00:00:20

分布式數據庫可用性

2010-11-15 15:34:30

ORACLE數據庫恢復

2011-07-15 15:55:50

SQL Server日附加數據庫

2011-05-26 15:27:08

Oracle數據庫

2010-06-09 15:40:59

MySQL數據庫文件

2017-01-22 08:49:05

MongoDB數據庫故障

2011-03-30 14:19:56

MySQL數據庫修改恢復

2011-03-24 09:45:34

SQL Server數恢復

2011-05-18 10:49:53

Oralce數據庫

2011-03-24 17:49:47

數據庫恢復

2011-03-23 09:31:26

歸檔日志文件數據庫恢復

2017-06-14 21:31:39

數據庫Oracleresetlogs

2018-10-08 11:29:10

點贊
收藏

51CTO技術棧公眾號