1 备份

1.1 准备工作

创建备份的user:仅需读取权限即可。
db.createUser({ user: "readuser", pwd: "password", roles: [ { role: "readAnyDatabase", db: "admin"} ]}) ;

1.2 备份命令

mongodump:导出所有数据库到指定目录。

参数说明:
        --host:MongoDB所在服务器IP。
        --port:MongoDB所在服务器端口。
        -d:需要备份的数据库实例。
        --out, -o:备份的数据存放位置。
        -u : 指定登录用户
        -p : 指定登录用户的密码
        -c :  指定要备份的集合

--authenticationDatabase:指定密码验证的库实例

示例:

(1)备份所有数据库实例:

mongodump --host 127.0.0.1 --port 27017 --authenticationDatabase admin -u readuser -p password -o /path/mongodb_backup/all/

(2)备份某个数据库实例db1:

mongodump --host 127.0.0.1 --port 27017 --authenticationDatabase "admin" -u readuser -p password -d db1 --out /path/mongodb_backup/db1

(3)备份数据库实例db1的collection1

mongodump --host 127.0.0.1 --port 27017 --authenticationDatabase admin -u readuser -p password -d db1 -c collection1 -o /path/mongodb_backup/db1/collection1

1.3 备份脚本

编写备份脚本backup_mongodb.sh,向该脚本传递一个参数指定备份的数据库库实例名称。

#!/bin/bashif [ $# = 0 ]; thenecho "Input the parameter: dbname, please."exit 1
fiBACKUP_DATE=`date +%Y%m%d`
DB_NAME=$1echo "###########################################################"
date +"%Y-%m-%d %H:%M.%S"
echo "Begin backup mongodump database: $DB_NAME"
echo "###########################################################"
./mongodb-3.2.8/bin/mongodump -d $DB_NAME --authenticationDatabase "admin" -u readuser -p 9iHjhLj4dC --out /u01/mongodb_backup/$DB_NAME/$BACKUP_DATE
du -sh /mongodb_backup/$DB_NAME/$BACKUP_DATE
echo "###########################################################"
date +"%Y-%m-%d %H:%M.%S"
echo "END backup mongodump database: $DB_NAME"
echo "###########################################################"

调用方式:

backup_mongodb.sh db1

2 恢复数据库

2.1恢复命令

mongorestore

参数说明:
        -h, --host:MongoDB所在服务器IP。
        --port:MongoDB所在服务器端口。
        -d:需要恢复的数据库实例。
        -u:指定登录用户
        -p:指定登录用户的密码
        -c:指定要恢复的集合
        --drop:恢复的时候把之前集合drop掉

--authenticationDatabase:指定密码验证的库实例

示例:

(1)恢复所有数据库

mongorestore --host 127.0.0.1 --port 27017 --authenticationDatabase admin -u admin -p 123456  /path/mongodb_backup/all/

(2)恢复指定的库

mongorestore --host 127.0.0.1 --port 27017 --authenticationDatabase admin -u admin -p 123456 -d db1  /path/mongodb_backup/db1

若恢复之前,数据库已经存在,则会报错:

此时,可以使用--drop参数:

mongorestore --host 127.0.0.1 --port 27017 --authenticationDatabase admin -u admin -p 123456 -d db1 --drop /path/mongodb_backup/db1

MongoDB备份与恢复相关推荐

  1. mongodb备份与恢复(YAPI数据备份与恢复)

    yapi 接口平台的数据备份与恢复,其实就是yapi所依赖的 mongodb的数据与恢复,除了yapi页面提供的 恢复与备份功能外,还能通过mongodb数据库操作来备份与恢复数据. 该操作也可用来迁 ...

  2. CentOS7中MongoDB备份与恢复,配置远程访问

    Windows中备份 C:\Program Files\MongoDB\Server\3.6\bin>mongodump.exe -d local Linux中恢复 mongorestore - ...

  3. Linux系统mongdb还原数据库,MongoDB备份与恢复

    mongodb数据库同样离不开必要的维护,如备份.恢复.导入.导出. 其实备份和恢复比导入和导出要方便些,而且一般不会出错,所以大部分时候使用备份和恢复操作就可以了 1. 备份Mongodb mong ...

  4. MongoDB备份与恢复(3)—数据备份(mongodump)与恢复(mongorestore)

    转载自萌阔论坛  用户tingcheng  http://forum.foxera.com/mongodb/topic/176/mongodb%E5%A4%87%E4%BB%BD%E4%B8%8E%E ...

  5. MongoDB备份与恢复(linux命令行实现)

    1.mongodb数据库备份(mongodump) mongodump -h 193.112.168.19 -d Eatwhat -o /root/eatwhat -h: MongDB所在服务器地址, ...

  6. 6.MongoDB备份与恢复

    备份 语法 mongodump -h dbhost -d dbname -o dbdirectory -h:服务器地址,也可以指定端口号 -d:需要备份的数据库名称 -o:备份的数据存放位置,此目录中 ...

  7. MongoDB一篇从入门到实战

    目录 MongoDB 数据库介绍 01.MongoDB简介 1.性能高 2.支持分布式 3.安装和部署容易 4.便于开发 5.NOSQL与SQL对比 02.文档存储结构 1.键值对 2.文档 3.集合 ...

  8. MongoDB 文档数据库

    文章目录 一.MongoDB 基本介绍 1.简介 2.应用场景 3.MongoDB的特点 4.MongoDB的优势 5.体系架构 二.MongoDB 索引 1.索引操作 2.索引结构 3.索引特性 4 ...

  9. MongoDB 文档数据库【进阶】

    文章目录 一.MongoDB 索引 1.索引操作 2.索引结构 3.索引特性 4.索引语句优化 二.MongoDB 存储引擎 1.默认WiredTiger 2.Why WiredTiger 3.che ...

最新文章

  1. 以下输出结果为16的python_作业 -- 几道简单的Python题
  2. 从JS敏感信息泄露到GETSHELL
  3. 2 ABAP命名规则
  4. java 当前时间小时数,java获取当前时间前几个小时的时间
  5. jQuery 3D圆盘旋转焦点图 支持鼠标滚轮
  6. sql找出2000-3000年中的闰年。_跟飞哥学编程:SQL入门-4-查询和条件
  7. RSAC|苹果设备的最大威胁是逆向后重部署的恶意软件
  8. 基于WCF的RESTFul WebAPI如何对传输内容实现压缩
  9. C++的C4305和C4800的编译警告
  10. windows server 2003产生的 Minidmp蓝屏文件分析求助
  11. python程序题求roc-auc是一种常用的模型评价指标_【Python机器学习 5-3】模型评价指标及模型选择...
  12. php结合美图秀秀,美图秀秀头像编辑器的使用?thinkphp+七牛方案
  13. 阿里云服务器之建立个人博客
  14. 鸡肋的 Nero BurnLite 10
  15. 多路由器实现无线无缝漫游
  16. java实现简单窗口小游戏“扫雷”
  17. 《数据结构(C语言版)》严巍敏课件~第一章:绪论
  18. Visio之去除直线交叉处的跨线
  19. c语言顺序选择结构题库,C语言复习题顺序结构
  20. android 画布叠加,Android实现图片叠加效果的两种方法

热门文章

  1. 跟我一起学Adams虚拟样机:(三) 齿轮系的运动学仿真,以一个行星齿轮系为例
  2. C语言和Java的区别?
  3. 使用百度地图SDK进行地址搜索、定位的工作小结
  4. java中集合的分割
  5. MSCOMCTL.OCX文件缺少找不到如何解决的?
  6. 【Java】JMM梳理
  7. 建筑行业app开发定制公司(方案)
  8. 背景图片和插入图片的区别
  9. 数字化“虚拟电厂”,精准管控助推节能减碳(一)
  10. 《YOLOv5/v7改进实战专栏》专栏介绍 专栏目录