簡體   English   中英

如何備份和恢復Mongodb數據庫

[英]How to backup and restore the Mongodb database

如何使用C#備份和恢復Mongodb數據庫? 目前只有一個服務器來保存mongodb數據,我想在服務器被銷毀的情況下進行備份,以便我可以恢復它。

任何人都知道如何使用C#做到這一點?

來自mongolab網站( http://docs.mongolab.com/backups/ )一個有用/簡單的例子:

備份使用mongodump

% mongodump -h ds012345.mongolab.com:56789 -d dbname -u dbuser -p dbpassword -o dumpdir

恢復使用mongorestore

% mongorestore -h ds023456.mongolab.com:45678 -d dbname -u dbuser -p dbpassword dumpdir/*

如果您只想要自動備份,那么使用完全成熟的編程語言會更簡單:

http://docs.mongodb.org/manual/tutorial/backup-databases-with-filesystem-snapshots/

如鏈接所示,下面的命令就足夠了。 您可以將它放在statup-script / daemon中以常規頻率執行它:

備份:

lvcreate --size 100M --snapshot --name mdb-snap01 /dev/vg0/mongodb

恢復:

lvcreate --size 1G --name mdb-new vg0
gzip -d -c mdb-snap01.gz | dd of=/dev/vg0/mdb-new
mount /dev/vg0/mdb-new /srv/mongodb

使用mongodump進行備份使用以下命令

mongodump -d database_name -o directory_where_mongodb_exists

要還原,請使用此命令

mongorestore -d database_name mongodb_restore_directory

在這個答案中,我將強調描述我在第一次這樣做時遇到的一些警告。 希望這證明對同樣情況下的某人有用。 雖然該示例使用命令行,但實用程序可以與Mongo安裝一起使用,並且可以很好地與C#一起使用。

首先,確保您的MongoDB安裝目錄位於環境路徑中,並且您可以訪問mongodump命令。 MongoDB通常安裝在Windows上的~\\ProgramFiles\\MongoDB\\Server\\<vr>\\bin中。

從CMD訪問該實用程序后,導航到要保存(或轉儲)備份的目錄。

檢查mongodump --help選項。 我使用了簡單(完整)備份和恢復。 因此,使用該命令並指定所需的選項。 這是一個例子:

mongodump /host:ds062199.mlab.com /port:62199 /username:mydbuser /password:mypwd /db:mydbname

當您按Enter鍵時,該實用程序將在dump/dbname子目錄中創建BSON和元數據JSON備份文件。

現在,要恢復,請執行以下操作。 注意,我備份了在Azure(Mongo Labs)上運行的Mongo實例,並在本地計算機上將其還原,如下所示。 在同一目錄中(在cmd上),執行以下命令:

mongorestore /host:localhost /port:27017

它將創建一個新的db,作為localhost mongodb實例上備份的副本。

希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM