MongoDB备份与恢复简介
MongoDB是一个高性能、高可用、易扩展的NoSQL数据库,在实际应用中,我们可能会遇到数据丢失或者误删的情况,这时候就需要进行备份和恢复操作,本文将介绍如何使用MongoDB自带的工具进行备份和恢复操作。
MongoDB备份
1、mongodump
mongodump是MongoDB自带的一个用于备份数据的工具,它可以将指定数据库的数据导出到一个BSON文件中,基本语法如下:
mongodump --db <数据库名> --out <输出目录>
我们要备份名为test的数据库,可以执行以下命令:
mongodump --db test --out /data/backup/test
2、mongodump选项
mongodump还有一些可选参数,可以帮助我们更好地控制备份过程,以下是一些常用的选项:
--host
:指定MongoDB服务器的地址,默认为localhost。
--port
:指定MongoDB服务器的端口,默认为27017。
--username
:指定连接MongoDB服务器的用户名。
--password
:指定连接MongoDB服务器的密码。
--authenticationDatabase
:指定用于验证用户身份的数据库。
--ssl
:启用SSL连接。
--tls
:启用TLS连接。
--gzip
:启用GZIP压缩。
--archive
:将备份数据归档到一个tar文件中,而不是直接导出到BSON文件。
MongoDB恢复
1、mongorestore
mongorestore是MongoDB自带的一个用于恢复数据的工具,它可以从一个BSON文件或归档文件中导入数据到指定的数据库,基本语法如下:
mongorestore --db <数据库名> <输入文件>
我们要从名为test.bson的文件中恢复数据到test数据库,可以执行以下命令:
mongorestore --db test test.bson
2、mongorestore选项
mongorestore还有一些可选参数,可以帮助我们更好地控制恢复过程,以下是一些常用的选项:
--drop
:在恢复数据之前删除目标数据库中的所有数据。
--nsInclude
:只包含指定的命名空间(以逗号分隔)。
--nsExclude
:不包含指定的命名空间(以逗号分隔)。
--numParallelCollectionsWorkers
:设置并行恢复集合的线程数。
--resumeRestore
:从上次中断的地方继续恢复。
--gzip
:启用GZIP解压。
--archive
:指定归档文件的路径,用于恢复数据。
--objcheck
:检查输入数据的完整性。
--chunkSize
:设置每个块的大小,以提高恢复速度。
--verbose
:输出详细信息。
--quiet
:静默模式,不输出任何信息。
--vfsCacheSizeGB
:设置虚拟文件系统缓存大小,单位为GB。
--vfsReadOnly
:设置虚拟文件系统为只读模式。
--storageEngine<engine>
:设置存储引擎类型,如WiredTiger、MMAPv1等。
--repair
:尝试修复损坏的数据文件。
--zlibCompressionLevel<level>
:设置ZLIB压缩级别,范围为0-9,其中0表示无压缩,9表示最大压缩。
--oplogSizeMB<size>
:设置oplog的大小,单位为MB。
--noOplog
:禁用oplog功能。
--smallfiles
:启用小文件存储优化。
--journal
:启用日志功能,用于复制集和分片集群之间的数据同步。
--noJournal
:禁用日志功能。
--fsync<true|false|always|once>
:设置数据写入磁盘的方式,如是否每次写入都会同步到磁盘、是否只在事务提交时同步等。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/215061.html