工具
mongodump 和 mongorestore是MongoDB自带的备份恢复工具。
Starting with MongoDB 4.4, mongodump is now released separately from the MongoDB Server and uses its own versioning, with an initial version of
100.0.0
. Previously, mongodump was released alongside the MongoDB Server and used matching versioning.
参考文章
## 官网下载地址
https://www.mongodb.com/try/download/database-tools
### 官网文档
https://www.mongodb.com/docs/database-tools/mongodump/
Mongodump工具
使用这个工具会导致cpu和io都很高。建议在其他机器上进行备份,比如专门的备份机。
备份
mongodump 参数
-h, --host=<hostname> MongoDB服务器的地址,默认为localhost
-p, --port=<port> MongoDB服务器的端口号,默认为27017
-d, --db=<database> 需要备份的数据库名称
-c, --collection=<collection> 需要备份的集合名称,不指定时默认备份全库
-u, --username=<username> 登录MongoDB服务器的用户名
--password=<password> 登录MongoDB服务器的密码
-o, --out=<directory> 备份数据的目录路径
-q, --query=<query> 指定查询条件
--ssl 使用SSL连接到MongoDB服务器
--sslCAFile=<filename> SSL CA证书文件路径
--sslPEMKeyFile=<filename> SSL PEM证书文件路径
--sslPEMKeyPassword=<password> SSL PEM证书密码
--authenticationDatabase=<database> 认证数据库的名称
--gzip 备份数据时使用gzip进行压缩
--archive=<filename> 将备份数据保存到归档文件中
--quiet 禁止输出日志信息
## 备份库
mongodump --port 27071 -d 库名 -o 备份文件路径
## 备份某个库中的集合
mongodump --host 10.130.111.99 --port 27017--username admin --password 'xx' --db xxx --collection file --out /data/backup/mongodump20220321 --authenticationDatabase admin
## 备份库
mongodump --host 10.130.111.99 --port 27017--username admin --password 'xx' --db xxx --collection file --out /data/backup/mongodump20220321 --authenticationDatabase admin
恢复
mongorestore 参数
在MongoDB中,Mongorestore这个工具是用来做数据恢复的,数据恢复命令的常用参数如下:
与mongodump重复的部分不再赘述
-p,--port
-h,--host
-d,--db
-c,--collection
--dir:恢复文件存放的位置,如果指定了数据库文件夹或者集合文件,则只恢复当前数据库或者当前集合,如果没有指定,则恢复当前目录下所有备份数据。
--drop:恢复前会删除已有的数据库
-u,--user
-p,--password
--authenticationDatabase文章来源:https://www.toymoban.com/news/detail-705640.html
##
mongorestore -h 10.130.111.98:27017 -u admin -p 'xx' --db xxx /data/backup/mongodump20230629/aimind --authenticationDatabase admin
##
物理备份
想要保证复制的物理文件和真实的数据库文件一致,需要保证当前数据库没有写入。如果数据库有写入,则复制的数据是不准确的。所以,物理复制必须在MongoDB实例停机状态或者锁定状态下进行。一般来讲,在MongoDB集群中,我们会使用锁定从库的办法来进行备份。文章来源地址https://www.toymoban.com/news/detail-705640.html
## 通常情况下,使用:
db.fsyncLock() 锁定从数据库。
db.fsyncUnlock() 解锁数据库
##
锁定从节点的数据库之后,在从节点上使用物理文件拷贝的方式进行备份即可。
备份完成即可解锁数据库。
到了这里,关于MongoDB的备份和恢复的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!