转载请注明出处:
在MongoDB中,使用mongodump
和mongorestore
命令来备份和恢复数据库
mongodump
1.使用方法:
使用 mongodump
命令可以备份MongoDB数据库的数据。
2.常用参数:
使用mongodump --help 查看所有帮忙参数,以下为常用的一些参数:
- -h,--host :代表远程连接的数据库地址,默认连接本地Mongo数据库;
- --port:代表远程连接的数据库的端口,默认连接的远程端口27017;
- -u,--username:代表连接远程数据库的账号,如果设置数据库的认证,需要指定用户账号;
- -p,--password:代表连接数据库的账号对应的密码;
- -d,--db:代表连接的数据库;
- -c,--collection:代表连接数据库中的集合;
- -o, --out:代表导出的文件输出目录;
- -q, --query:代表查询条件;
- -j,--numParallelCollections =要并行转储的集合数(默认为4)
- --gzip,使用Gzip压缩存档;
- --oplog,使用oplog进行时间点快照;
- --authenticationDatabase,指定用户鉴定库
3.示例说明:
3.1备份指定数据库到指定目录
mongodump -h dbhost -d dbname -o dbdirectory
在这个命令中,dbhost
是MongoDB所在服务器的地址,dbname
是你想要备份的数据库的名称,dbdirectory
是备份的数据存放位置。这个命令将在dbdirectory
所在的目录下生成一个名为dbname
的目录,其中包含了你想要备份的数据库的内容。
3.2 备份并压缩整个数据库:
mongodump --gzip --out /data/backup
将使用gzip压缩,备份整个数据库到 /data/backup
目录下。
mongorestore
1.使用方法:
使用 mongorestore
命令可以将备份的数据导入到MongoDB数据库中。
2.常用参数:
mongodump --help
查看帮助命令,以下为常用的参数:
- -h,--host :代表远程连接的数据库地址,默认连接本地Mongo数据库;
- --port:代表远程连接的数据库的端口,默认连接的远程端口27017;
- -u,--username:代表连接远程数据库的账号,如果设置数据库的认证,需要指定用户账号;
- -p,--password:代表连接数据库的账号对应的密码;
- -d,--db:代表连接的数据库;
- -c,--collection:代表连接数据库中的集合;
- -o, --out:代表导出的文件输出目录;
- --dir = <目录名称>输入目录
- --drop导入前删除数据库中集合;
- --gzip,解压Gzip压缩存档还原;
- --oplog,重放oplog以基于时间点还原;
- --oplogFile = <文件名>指定重播oplog的oplog文件
- --authenticationDatabase,指定用户鉴定库
3.示例说明:
3.1使用mongorestore
命令来恢复数据库。
这个命令可以将备份的数据库内容导入到MongoDB数据库中。以下是一个例子:
mongorestore -h <hostname><:port> -d dbname <path>
<hostname><:port>
是MongoDB所在服务器的地址和端口,dbname
是你想要恢复的数据库的名称,<path>
是备份数据所在的位置。这个命令将从<path>
所在的目录中读取数据,并将其导入到dbname
数据库中。
mongorestore
命令在恢复数据的时候,如果指定了--drop
选项,那么它会先删除当前数据库中的所有数据,然后再导入备份的数据。因此,需要非常小心地使用这个选项,因为它可能会导致数据丢失。
3.2 恢复上面gzip备份的数据
mongorestore --drop --gzip /data/backup/
上述命令将在恢复数据之前删除现有的集合,并且使用gzip解压缩备份文件来还原数据。