欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

使用mongodump及mongorestore备份及恢复数据

程序员文章站 2022-04-09 14:32:25
...

mongodump及mongorestore是用于备份和恢复mongodb数据库的两个命令,位于mongodb安装目录的bin文件夹下。 mongodump导出的备份文件为二进制格式,每一个文档的对应备份文件有两个,文档名.bson和文档名.metadata.json两个文件。 先看一个mongodump的使用示例

mongodump及mongorestore是用于备份和恢复mongodb数据库的两个命令,位于mongodb安装目录的bin文件夹下。

mongodump导出的备份文件为二进制格式,每一个文档的对应备份文件有两个,文档名.bson和文档名.metadata.json两个文件。

先看一个mongodump的使用示例:

./mongodump -d vodlite3 -o /mibackup/

该命令将vodlite3数据库备份到/mibackup/目录下。我们查看mibackup目录可以看到备份结构如下:

使用mongodump及mongorestore备份及恢复数据

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导出的数据,语法格式如下:

mongorestore [options] [directory or filename to restore from]

使用该命令恢复刚才备份的数据:

mongorestore --db vodlite3 --directoryperdb D:\vodlite3

可用选项如下:

–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、mongodump的官方帮助文档
2、mongodbde备份及恢复策略