如何使用mongodb备份和恢复所有数据库?

alv*_*vas 3 database backup mongodb mongorestore mongodump

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

$ mongodump
Run Code Online (Sandbox Code Playgroud)

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

$ mongorestore
Run Code Online (Sandbox Code Playgroud)
  • 来自mongodump的备份存储在哪里?
  • 如何为要还原的所有数据库指定特定转储?

att*_*ish 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

  • 设置分片群集后,操作将自动进行平衡.但是设置分片环境,添加/删除节点是手动的,而且非常困难.检查一下:http://docs.mongodb.org/manual/sharding/ (2认同)