当前位置: 首页 > news >正文

MongoDB数据备份与恢复(内含工具下载、数据处理以及常见问题解决方法)

一、工具准备

对MongoDB进行导入导出、备份恢复等操作时需要用到命令工具,我们要先检查一下MongoDB安装目录下是否有这些工具,正常情况下是没有的:),因为新版本的MongoDB安装时不包含这些工具,需要我们手动下载安装。下载成功之后直接解压缩,然后把解压缩后bin目录中的文件拷贝到MongoDB安装路径下的bin目录即可。

官方网站下载链接:MongoDB Command Line Database Tools Download

二、MongoDB数据备份与恢复

MongoDB数据库工具文档:MongoDB数据库工具 - 官方中文

1、mongodump数据备份

mongodump --host="localhost:27017" --readPreference=secondary --gzip -u="admin" -p="admin123" --authenticationDatabase=admin --archive=C:\test

mongodump --host="localhost:27017" --readPreference=secondary --gzip -u="admin" -p="admin123" --authenticationDatabase=admin --archive=C:\test\archive-2024112001.gz

  • --gzip指备份文件会被压缩成.gz格式
  • --archive指备份文件的存放路径,如果参数值是路径,备份文件会被命名为archive.gz,如果多次执行mongodump命令备份文件仅保留最新的结果
  • --archive指备份文件的存放路径,如果参数值指向一个文件,备份文件会被命名为指定名称,如果多次执行mongodump命令备份文件仅保留最新的结果(若想保存多个的备份文件,要设置不同的文件名)

2、mongorestore数据恢复

mongorestore --gzip --drop --preserveUUID --authenticationDatabase=admin --archive="C:\test\archive.gz" --host="localhost:27017" -u="admin" -p="admin123" 

mongorestore --gzip --nsInclude="performance-dms-maxwell-perf-analyzer.*" --nsInclude="performance-dms-similar-well.*" --drop --preserveUUID --authenticationDatabase=admin --archive="C:\test\archive.gz" --host="localhost:27017" -u="admin" -p="admin123" 

  • --gzip指从.gz文件进行恢复
  • --nsInclude指要恢复哪些Database、Collection,不手动指定表示恢复所有Database和Collection(一个命令可以指定多个--nsInclude)
  • --db指要恢复哪些Database(一个命令可以指定一个--db)
  • --collection指要恢复哪些Collection
  • --drop指先清空现有数据再恢复

三、MongoDB用户管理

1、创建用户

// 切换到admin数据库
use admin
db.createUser({user: "admin",pwd: "admin123",roles: [{ role: "userAdminAnyDatabase", db: "admin" },{ role: "dbAdminAnyDatabase", db: "admin" },{ role: "readWriteAnyDatabase", db: "admin" }]
})

2、查看用户

//切换到admin数据库
use admin
show users

3、修改用户密码

//切换到admin数据库
use admin
db.changeUserPassword("admin", "newpassword")

4、删除用户

//切换到admin数据库
use admin
db.dropUser("admin")

四、常见问题

1、unable to authenticate using mechanism "SCRAM-SHA-1": (AuthenticationFailed) Authentication failed.

http://www.lryc.cn/news/488290.html

相关文章:

  • 代码随想录第三十一天| 56. 合并区间 738.单调递增的数字
  • C语言基本知识 2.2void 函数
  • Spring 框架中哪些接口可以创建对象
  • 豆瓣书摘 | 爬虫 | Python
  • Oracle数据库物理存储结构管理
  • java——Map接口
  • 量子计算机全面解析:技术、应用与未来
  • IDEA相关(包括但不限于快捷键,使用技巧)成长笔记
  • 【再谈设计模式】适配器模式 ~接口兼容的桥梁
  • 使用Cursor和Claude AI打造你的第一个App
  • 粗读Apache Paimon 的基本概念及其组成结构
  • c++调用 c# dll 通过 P/Invoke (详细避坑)
  • 李春葆《数据结构》——图相关代码
  • Linux驱动开发第2步_“物理内存”和“虚拟内存”的映射
  • 告别多品牌乱战,吉利开始觉醒
  • Target-absent Human Attention
  • <QNAP 453D QTS-5.x> 日志记录:在 Docker 中运行的 Flask 应用安装 自签名 SSL 证书 解决 Chrome 等浏览器证书安全
  • 通过huggingface-cli下载Hugging Face上的公开数据集或模型至本地
  • 论文阅读——Intrusion detection systems using longshort‑term memory (LSTM)
  • SparkSQL的执行过程:从源码角度解析逻辑计划、优化计划和物理计划
  • Leetcode打卡:新增道路查询后的最短距离II
  • Spring Web入门练习
  • 计算机毕业设计 | SpringBoot+vue汽车资讯网站 汽车购买咨询管理系统(附源码+论文)
  • stm32下的ADC转换(江科协 HAL版)
  • 解决IntelliJ IDEA的Plugins无法访问Marketplace去下载插件
  • react 如何修改弹出的modal的标题
  • C#中的二维数组的应用:探索物理含义与数据结构的奇妙融合
  • HTML5拖拽API学习 托拽排序和可托拽课程表
  • 内容补充页(相关公式解释)
  • vue中动态渲染静态图片资源