繁体   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