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

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指先清空现有数据再恢复

3、备份和恢复单库

mongodump --db="performance-dms-iaplan-recommendation" --out="C:\test"

mongorestore --drop --db=performance-dms-iaplan-recommendation-local --dir="C:\test\performance-dms-iaplan-recommendation"

  • mongodump中的--db指要把哪个数据库进行备份
  • mongorestore中的--db指要把备份的数据恢复到哪个库中
  • mongodump --db="db01" --out="C:\test"执行完毕后会创建"C:\test\db01"目录,db01中的所有Collection都在目录中

三、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.kler.cn/a/403686.html

相关文章:

  • Vue 3 自定义插件开发
  • 2021 年 3 月青少年软编等考 C 语言三级真题解析
  • vue3:使用插件递归组件
  • SpringAOP模拟实现
  • 【c++丨STL】priority_queue(优先级队列)的使用与模拟实现
  • Spring Boot + Vue 基于 RSA 的用户身份认证加密机制实现
  • 【Unity ShaderGraph实现流体效果之Function入门】
  • 用sqlmap工具打sqli-labs前20关靶场
  • CentOS8 在MySQL8.0 实现半同步复制
  • Linux光标快捷键
  • 秋招总结与感悟
  • AI眼镜拐点到了,全品类AI硬件还会远吗?
  • SimbaSchema在数据云平台中的可观测性实践与应用
  • 【HOT100第四天】除自身以外数组的乘积,矩阵置零,螺旋矩阵,旋转图像
  • phpMyAdmin/PHP反序列化/sqli-labs/upload/pikachu/DVWA--靶场搭建--超详细教程!!!
  • 【01】Selenium+Python 入门案例
  • React Native的开发流程是怎样的?
  • 【蓝桥杯算法】Java的基础API
  • 【Node.js】Node.js 和浏览器之间的差异
  • Figma插件指南:12款提升设计生产力的插件
  • Debug-030-浏览器中F12审查伪类元素样式
  • 计算机网络技术专业,热门就业方向和就业前景
  • vue实现滚动下拉加载更多
  • 如何确保Java爬虫程序的稳定性和安全性?
  • cesium 地图 事件触发
  • OPC UA 服务器