5

如果我想对mongodb 中的所有数据库进行通用备份,我所要做的就是:

$ mongodump

如果我想恢复我创建的最新转储,我需要做的就是:

$ mongorestore
  • mongodump 的备份存储在哪里?
  • 如何为要还原的所有数据库指定特定转储?
4

2 回答 2

7

备份存储在您在命令行中使用 --out 选项指定的目录中。如果您不指定任何输出目录,备份将被放置到 ./dump 目录。使用 mongorestore,您必须将之前转储的目录指定为命令行参数。

在分片环境中,如果您通过 mongos 使用 mongodump,备份将被展平。恢复后,您将不得不重新分片集合。所以恢复并不总是毫不费力。请参阅文档: http ://docs.mongodb.org/manual/tutorial/backup-small-sharded-cluster-with-mongodump/

您也可以直接转储 db 文件夹,检查 cli 选项。

对于分片集群,您可以在此处检查可能性:http: //docs.mongodb.org/manual/administration/backups/#sharded-cluster-backups

于 2013-01-30T09:06:11.683 回答
0

恢复所有 mongorestore --host= --port= --username= --authenticationDatabase= --nsInclude " . "

备份所有 mongodump --ssl --host --port -p --authenticationDatabase -u -p --out

如果要备份数据库,请使用: mongodump --ssl --host --port -p --authenticationDatabase -u -p --out

如果数据库启用了 ssl,则包括 --ssl 标志如果不包括 --out mongodump 将创建一个“/dump”目录。在转储或指定的备份目录中,您会找到带有数据库名称的目录,在每个目录中,您会找到备份文件,对于每个集合,您会找到一个“.bson”和一个“.metadata.xml”。 json"

要恢复所有数据库,请使用: mongorestore --ssl --host= --port= --username= --authenticationDatabase= --nsInclude " . "

同样,如果数据库启用了 ssl,则包括 --ssl 标志,如果不只是删除它。“--nsInclude”标志告诉 mongorestore 您要恢复哪些数据库或集合。示例:--nsInclude=test.users(这将备份数据库测试的用户集合,因此如果转储的路径不是该特定数据库的 users.bson 的路径,则会失败)

要包含所有数据库和所有集合,请使用 --nsInclude= 或 --nsInclude 然后定义备份的所有收集目录的路径

于 2021-01-07T18:19:09.207 回答