如果我想为mongodb 中的所有数据库执行通用备份,那么我所要做的就是:
$ mongodump
如果我想恢复我创建的最新转储,我需要做的就是:
$ mongorestore
答案 0 :(得分: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
答案 1 :(得分: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”。 json"
要恢复所有数据库,请使用: mongorestore --ssl --host= --port= --username= --authenticationDatabase= --nsInclude "."
同样,如果数据库启用了 ssl,则包括 --ssl 标志,如果不只是将其删除。 “--nsInclude”标志告诉 mongorestore 您要恢复哪些数据库或集合。 例子: --nsInclude=test.users(这将备份数据库测试的用户集合,因此如果转储的路径不是该特定数据库的 users.bson 的路径,则会失败)
要包含所有数据库和所有集合,请使用 --nsInclude=. 或 --nsInclude . 然后定义备份的所有集合目录的路径