MongoDB資料檔案備份與恢復

2021-06-22 20:43:56 字數 1221 閱讀 2462

mongodb資料檔案備份與恢復

備份與恢復資料對於管理任何資料儲存系統來說都是非常重要的。

1、冷備份與恢復——建立資料檔案的副本(前提是要停止mongodb伺服器),也就是直接copy 

mongodb將所有資料都儲存在資料目錄下,預設是/data/db/(windows下是c:\data\db\),啟動mongodb時也可以用--dbpath指定我們自己設定的資料儲存目錄。 

備份mongodb資料:只要簡單的建立資料儲存目錄的副本就可以了,直接copy乙份。 

恢復mongodb資料:在mongodb啟動時用--dbpath指定資料儲存目錄副本位置。 

在伺服器執行的情況下直接copy是有風險的,可能copy出來時,資料已經遭到破壞,這種方式下建立資料目錄的副本需要在關閉mongodb伺服器的前提下,資料目錄中儲存的就是關閉那一刻資料的快照,在伺服器重新啟動之前可以複製目錄作為備份。

2、熱備份與恢復——mongodb bin目錄下自帶的mongodump和mongorestore工具

先介紹下命令語法:

>mongodump -hdbhost-ddbname-odbdirectory

-h:mongdb所在伺服器位址,例如:127.0.0.1,當然也可以指定埠號:127.0.0.1:27017

-d:需要備份的資料庫例項,例如:test

-o:備份的資料存放位置,例如:c:\data\dump,當然該目錄需要提前建立,在備份完成後,系統自動在dump目錄下建立乙個test目錄,這個目錄裡面存放該資料庫例項的備份資料。

>mongorestore -hdbhost-ddbname--directoryperdbdbdirectory

-h:mongodb所在伺服器位址

-d:需要恢復的資料庫例項,例如:test,當然這個名稱也可以和備份時候的不一樣,比如test2

--directoryperdb:備份資料所在位置,例如:c:\data\dump\test,這裡為什麼要多加乙個test,而不是備份時候的dump,讀者自己檢視提示吧!

--drop:恢復的時候,先刪除當前資料,然後恢復備份的資料。就是說,恢復後,備份後新增修改的資料都會被刪除,慎用哦!

例項操作:

mongodb 資料檔案太大

問題 開發伺服器mongodb資料檔案太大。占用近80g,其中某個db占用最大 運營環境這個db的資料只有3g大小 分析 開發環境有大量測試的 增加 刪除 修改 操作,長期以來會導致資料檔案非常大,但 實際儲存資料並不是很多.129m db name.1 2.1g db name.10 2.1g d...

elasticsearch 資料的備份與恢復

1.備份資料 1.1 建立備份倉庫 1.2 備份指令碼 cat alidata1 admin scripts elasticsearch es bak del.sh bin bash define vars es url es bak repo hsbc backup es user elastic...

壓縮 MongoDB 的資料檔案

mongodb採用了磁碟空間預分配的機制,為了避免磁碟碎片以及使用mmap後造成的近一步的記憶體碎片,但是隨著資料的增刪除改操作,資料檔案不可避免的會產生空洞,造成磁碟空間和記憶體的浪費。本文說的是這方面的壓縮,資料使用某些壓縮演算法進行壓縮的討論不在此範圍。在mongodb 中,大概有兩種方法可以...