如果我想对mongodb中的所有数据库做一个通用的备份,是不是只要:
$ mongodump
而如果我想恢复我创建的最新转储,我需要做的就是:
$ mongorestore
*mongodump的备份存储在哪里?*如何为所有要恢复的数据库指定特定的dump?
bnl4lu3b1#
备份存储在您在命令行中使用--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
pgky5nke2#
全部恢复
mongorestore --host=<host> --port=<port> --username=<username> --authenticationDatabase=<authenticationdatabase> --nsInclude "*.*" <path to dump>
全部备份
mongodump --ssl --host <domain> --port <port> -p <password> --authenticationDatabase <authenticationdatabase> -u <username> -p <password> --out <dir path>
如果要备份数据库,请用途:
如果数据库启用了ssl,请包括--ssl标志如果不包含--out,mongodump将创建一个“/dump”目录。在转储或指定的备份目录中,您将找到包含数据库名称的目录,在每个目录中,您将找到备份文件,对于每个集合,您将找到“.bson”和“.metadata.json”要恢复所有数据库,请用途:
--ssl
--out
mongodump
mongorestore --ssl --host=<host> --port=<port> --username=<username> --authenticationDatabase=<authenticationdatabase> --nsInclude "*.*" <path to dump>
同样,如果数据库启用了ssl,则包括--ssl标志(如果不只是删除它)。--nsInclude标志告诉mongorestore您要恢复哪些数据库或集合。示例:
--nsInclude
mongorestore
--nsInclude=test.users
这将备份数据库测试的users集合,因此,如果转储的路径不是该特定数据库的users.bson的路径,则将失败要包括所有数据库和所有集合,请使用--nsInclude=*.*或--nsInclude *.*,然后定义备份的所有集合目录的路径
--nsInclude=*.*
--nsInclude *.*
2条答案
按热度按时间bnl4lu3b1#
备份存储在您在命令行中使用--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
pgky5nke2#
全部恢复
全部备份
如果要备份数据库,请用途:
如果数据库启用了ssl,请包括
--ssl
标志如果不包含
--out
,mongodump
将创建一个“/dump”目录。在转储或指定的备份目录中,您将找到包含数据库名称的目录,在每个目录中,您将找到备份文件,对于每个集合,您将找到“.bson”和“.metadata.json”
要恢复所有数据库,请用途:
同样,如果数据库启用了ssl,则包括
--ssl
标志(如果不只是删除它)。--nsInclude
标志告诉mongorestore
您要恢复哪些数据库或集合。示例:
这将备份数据库测试的users集合,因此,如果转储的路径不是该特定数据库的users.bson的路径,则将失败
要包括所有数据库和所有集合,请使用
--nsInclude=*.*
或--nsInclude *.*
,然后定义备份的所有集合目录的路径