MongoDB的备份和恢复

这篇具有很好参考价值的文章主要介绍了MongoDB的备份和恢复。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

工具

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

##
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模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MongoDB——MongoDB删除系统自带的local数据库

    1.1、linux环境进入mongo客户端 输入 mongo 命令,进入命令行客户端 进入admin库,并登录,查看所有数据库 提升用户权限,然后进入local库并删除local库 然后重新进入admin库,把提升的用户权限降回,再次查看所有数据库 由上图可知,local库已被删除。

    2024年02月06日
    浏览(44)
  • 〖Python 数据库开发实战 - MongoDB篇⑧〗- MongoDB的数据结构

    订阅 Python全栈白宝书-零基础入门篇 可报销! 白嫖入口-请点击我。 推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏, 免费阶段订阅数量4300+ , 购买任意白宝书体系化专栏可加入 TFS-CLUB 私域社区。 福利:加入社区的小伙

    2023年04月09日
    浏览(47)
  • MongoDB数据库从入门到精通系列文章之:MongoDB数据库百篇技术文章汇总

    MongoDB数据库系列文章持续更新中: 更多数据库内容请阅读博主数据库专栏,数据库专栏涵盖了Mysql、SQLServer、PostgreSQL、MongoDB、Oracle、Cassandra等数据库 数据库专栏 文章名称 文章链接 数据库安装部署系列之:部署Mongodb5.0.6高可用集群详细步骤 数据库安装部署系列之:部署M

    2024年02月11日
    浏览(43)
  • mongodb 数据库管理(数据库、集合、文档)

    目录 一、数据库操作 1、创建数据库 2、删除数据库 二、集合操作 1、创建集合 2、删除集合 三、文档操作 1、创建文档 2、 插入文档 3、查看文档 4、更新文档 1)update() 方法 2)replace() 方法 创建数据库的语法格式如下: 如果数据库不存在,则创建数据库,否则切换到该数据

    2024年02月12日
    浏览(45)
  • Mongodb连接数据库

    npm init   npm i mongoose  const mongoose=require(\\\"mongoose\\\") mongoose.connect(\\\"mongodb://127.0.0.1:27017/user\\\") 说明:mongodb是协议,user是数据库,如果没有会自动创建user数据库 。 node 文件名     mongoose.disconnect()

    2024年02月15日
    浏览(47)
  • MongoDB数据库安装

    MongoDB数据的特点: 面相文档存储的分布式数据库 具有很强的扩展性 支持丰富的查询表达式,很接近于关系性数据库 使用类似于json的结构保存数据,可以轻易的查询到文档中内嵌的对象及数组 首先去官网下载安装包 Download MongoDB Community Server | MongoDB 启动MongoDB数据的服务 可

    2024年02月11日
    浏览(47)
  • MongoDb数据库

    1.显示所有数据库: show dbs 2.切换到指定数据库,如果没有则自动创建数据库 use databaseName 3.显示当前所在数据库 db 4.删除当前数据库 use 库名 db.dropDatabase() 1.创建集合 db.createCollection(\\\'集合名称\\\') 2.显示当前数据库中所有集合 show colletions  3.删除某个集合 db.xxx.drop(); 4.重命名集

    2024年02月04日
    浏览(44)
  • mongodb数据库操作

    1、启动mongodb 在mongodb启动命令中 --dbpath 指定mongodb的数据存储路径 --logpath 指定mongodb的日志存储路径 2、停止mongodb 第一步先进入mongo命令行模式 第二步,使用use admin 命令进入admin数据库 第三步,执行 db.shutdownServer()命令 停止服务。代码及显示如下:  2 、导出Mongodb数据 mon

    2024年02月09日
    浏览(39)
  • 【数据库MongoDB】MongoDB与大数据关系以及MongoDB中重要的进程:mongod进程与mongo进程关系

    云计算的定义有多种说法,对于到底什么是云计算,我们至少可以找到100种解释。目前广为接受的是美国国家标准与技术研究院定义: 云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络、服务器

    2024年02月02日
    浏览(56)
  • MongoDB:数据库初步应用

    1.MongoDBCompass连接数据库 连接路径:mongodb://用户名:密码@localhost:27017/ 2.创建数据库(集合) MongoDB中数据库被称为集合.  MongoDBCompass连接后,点击红色框加号创建集合,点击蓝色框加号创建文档(数据表) 文档中的数据结构(相当于表中的列)设计不用管,添加数据的时候,自动创建列和数

    2024年02月12日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包