mongodump及mongorestore是用于备份和恢复mongodb数据库的两个命令,位于mongodb安装目录的bin文件夹下。
mongodump导出的备份文件为二进制格式,每一个文档的对应备份文件有两个,文档名.bson和文档名.metadata.json两个文件。
先看一个mongodump的使用示例:
该命令将vodlite3数据库备份到/mibackup/目录下。我们查看mibackup目录可以看到备份结构如下:
mongodump可用选项如下:
–help
查看帮助信息。-v [ --verbose ]
显示更多调试信息。–version
显示该命令版本。-h [ --host ] arg
mongodb数据库所在主机IP地址。–port arg
mongodb启动时所使用的端口。也可以使用 –host:port格式直接指定主机和端口。–ipv6
是否支持ipv6 。-u [ --username ] arg
指定登陆用户名。-p [ --password ] arg
指定登陆密码。–dbpath arg
越过mongod服务器,直接访问给定路径的mongod数据库文件。使用该参数需要锁定给定的数据目录,所以需要先关闭使用该目录的mongod服务。–directoryperdb
如果指定了dbpath目录,那么每个db都会给保存到一个单独的文件夹中。–journal
enable journaling-d [ --db ] arg
准备备份的数据库。-c [ --collection ] arg
准备备份的集合。-o [ --out ] arg
导出数据将要保存在的目录,如参数为“-”,则直接在控制台显示。-q [ --query ] arg
json query–oplog
Use oplog for point-in-time snapshotting–repair
尝试修复损坏的数据库。–forceTableScan
强制表扫描。mongorestore用来恢复mongodump导出的数据,语法格式如下:
使用该命令恢复刚才备份的数据:
可用选项如下:
–help
produce help message-v [ --verbose ]
be more verbose (include multiple times for more verbosity e.g. -vvvvv)–version
print the program’s version and exit-h [ --host ] arg
mongo host to connect to ( /s1,s2 for sets)–port arg
server port. Can also use –host hostname:port–ipv6
enable IPv6 support (disabled by default)-u [ --username ] arg
username-p [ --password ] arg
password–dbpath arg
directly access mongod database files in the given path, instead of connecting to a mongod server – needs to lock the data directory, so cannot be used if a mongod is currently accessing the same path–directoryperdb
if dbpath specified, each db is in a separate directory–journal
enable journaling-d [ --db ] arg
database to use-c [ --collection ] arg
collection to use (some commands)–objcheck
validate object before inserting–filter arg
filter to apply before inserting–drop
drop each collection before import–oplogReplay
replay oplog for point-in-time restore–keepIndexVersion
don’t upgrade indexes to newest version参考链接:
1、2、