7

如何使用C#备份和恢复Mongodb数据库?现在只有一个服务器来保存mongodb数据,我想做一个备份,以防服务器被破坏,以便我可以恢复它。

有人知道如何使用 C# 做到这一点吗?

4

4 回答 4

9

来自 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/*
于 2014-01-23T13:43:57.410 回答
4

如果您只想要自动备份,有一种比使用成熟的编程语言更简单的方法:

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
于 2013-04-02T03:43:20.230 回答
0

使用 mongodump 进行备份,使用以下命令

mongodump -d database_name -o directory_where_mongodb_exists

要恢复使用此命令

mongorestore -d 数据库名称 mongodb_restore_directory

于 2016-02-04T12:41:37.250 回答
0

在这个答案中,我将强调我在第一次这样做时遇到的一些警告。希望这对处于相同情况的人有用。尽管该示例使用命令行,但这些实用程序在 Mongo 安装中是开箱即用的,并且可以很好地与 C# 一起使用。

首先,确保您的 MongoDB 安装目录在环境路径中,并且您可以访问mongodump命令。MongoDB 通常安装在~\ProgramFiles\MongoDB\Server\<vr>\binWindows 上。

从 CMD 访问该实用程序后,导航到要保存(或转储)备份的目录。

检查mongodump --help选项。我使用了简单的(完整)备份和恢复。因此,使用命令并指定所需的选项。这是一个例子:

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

dump/dbname当您按下回车键时,该实用程序将在子目录中创建 BSON 和元数据 JSON 备份文件。

现在,要恢复,请执行以下操作。请注意,我备份了一个在 Azure(Mongo Labs)上运行的 Mongo 实例,并在我的本地机器上恢复它,如下所示。在同一目录中(在 cmd 上),执行以下命令:

mongorestore /host:localhost /port:27017

它将创建一个新的数据库,作为本地 mongodb 实例上备份的副本。

希望这可以帮助!

于 2016-03-24T12:59:12.010 回答