摘要:轉載方法一通過恢復如果部署的是復制集,這時還有一線希望,可以通過來盡可能的恢復數據復制集的每一條修改操作都會記錄一條,所以當數據庫被誤刪后,可以通過重放現有的來盡可能的恢復數據。
轉載:http://forum.foxera.com/mongo...
方法一:通過 oplog 恢復
如果部署的是 MongoDB 復制集,這時還有一線希望,可以通過 oplog 來盡可能的恢復數據;MongoDB 復制集的每一條修改操作都會記錄一條 oplog,所以當數據庫被誤刪后,可以通過重放現有的oplog來「盡可能的恢復數據」。前不久遇到的一個用戶,運氣非常好,數據庫是最近才創建的,所有的操作都還保留在oplog里,所以用戶通過oplog把所有誤刪的數據都找回了。
通過 oplog 恢復數據的流程非常簡單,只需要把oplog集合通過mongodump導出,然后通過mongorestore 的 oplogReplay 模式重放一下。
Step1: 導出 oplog 集合
mongodump -d local -c oplog.rs -d -o backupdir
Step2: 拷貝oplog集合的數據
mkdir new_backupdir cp backupdir/local/oplog.rs.bson new_backupdir/oplog.bson
Step3: 重放oplog
mongorestore --oplogReplay new_backupdir
方法二:通過備份集恢復
如果對 MongoDB 做了全量備份 + 增量備份,那么可以通過備份集及來恢復數據。備份可以是多種形式,比如:
通過 mongodump 等工具,對數據庫產生的邏輯備份
拷貝 dbpath 目錄產生的物理備份
文件系統、卷管理等產生的快照等
從這里其實也可以看出一個問題,就是「部署了多節點的復制集,為什么還需要做數據備份?」;遇到誤刪數據庫這種問題,dropDatabase 命令也會同步到所有的備節點,導致所有節點的數據都被刪除。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/19347.html
摘要:可以恢復誤刪的數據包括和。如果你恰好誤刪了數據,又沒有很好的備份的話,可以嘗試用進行數據恢復。恢復刪除的這回恢復所有刪除的中的所有。無法恢復一個指定的。熱愛和數據庫技術目前專注于和一些管理自動化。 mreco可以恢復誤刪的 mongodb 數據(包括 row 和 collection)。如果你恰好誤刪了數據,又沒有很好的備份的話,可以嘗試用mreco 進行數據恢復。 showImg(...
摘要:才云科技云開源高級工程師唐繼元受邀社群,在線分享高級實踐,介紹如何構建環境。除命令外的停止都是異常停止。 才云科技云開源高級工程師唐繼元受邀DBAplus社群,在線分享《Kubernetes Master High Availability 高級實踐》,介紹如何構建Kubernetes Master High Availability環境。 以下是分享實錄: 大家好,我是才云科技的唐繼...
閱讀 3060·2023-04-26 00:40
閱讀 2398·2021-09-27 13:47
閱讀 4239·2021-09-07 10:22
閱讀 2969·2021-09-06 15:02
閱讀 3313·2021-09-04 16:45
閱讀 2498·2021-08-11 10:23
閱讀 3602·2021-07-26 23:38
閱讀 2904·2019-08-30 15:54