练习 MongoDB 操作 —— 备份篇(三)

news/2024/7/1 4:53:04

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

mongodb数据备份和还原主要分为二种,

一种是针对于库的mongodump和mongorestore,

一种是针对库中表的mongoexport和mongoimport。

mongodb 数据库操作--备份 还原 导出 导入

导入与导入

导入与导出是针对集合,对集合上的文档数据经过"查询条件"后导出;

导出

MongoDB的导出是利用mongoexport命令;同时列举常用的参数:

  • -h:数据库宿主机的IP
  • -u:数据库用户名
  • -p:数据库密码
  • -d:数据库名字
  • -c:集合的名字
  • -f:导出的列名
  • -q:导出数据的过滤条件
  • -o:导出文件的目录及文件名(/xx/xx/xx.json)
  • --typejson 或 csv(默认是 json

示例:

  1. 导出本地Mongodb服务器上school数据库grade_1_5集合上的数据(必须指定集合名);默认导出的文件是json格式;

    mongoexport -d school -c grade_1_5 -o /tmp/school.json
  2. 导出本地Mongodb服务器上school数据库grade_1_5集合上的数据(必须指定集合名),csv格式的文件(csv文件必须指定导出哪些列)

    mongoexport -d school -c grade_1_5 -o /tmp/school.csv --type=csv -f name,sex,age

mongoexport不能导出文档中的数组信息;导出 csv 文件的好处在于可以导入mysql

  1. 导出本地Mongodb服务器上school数据库grade_1_5集合上的数据(必须指定集合名);只导出 sex 为 1 的文档;

    mongoexport -d school -c grade_1_5 -o /tmp/school.json -q "{"sex": 1}"

导入

MongoDB的导出是利用mongoimport命令;同时列举常用的参数:

  • --host:数据库宿主机的IP
  • --port:端口号
  • -d: 待导入的数据库
  • -c: 待导入的表
  • --type: json 或 csv(默认是 json
  • --file: ./xx/xx.json

示例:

  1. 把之前导出的school.csv文件,导入到本地Mongodbschool数据库的grade_1_6集合

    mongoimport -d school -c grade_1_6 --file /tmp/school.json

备份与恢复

备份与恢复主要面向数据库,也可以对集合进行这类操作;

备份

MongoDB的备份是利用mongodump命令;同时列举常用的参数:

  • -hMongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
  • -d:需要备份的数据库实例,例如:schooltest
  • -c:需要备份的集合名
  • -o:备份的数据存放位置,例如:/home/mongodb/dump

示例:

  1. 备份本地MongoDbschool数据库,数据存放在/home/mongodb/dump

    mongodump -d school -o /home/mongodb/dump
  2. 备份本地MongoDbschool数据库中的grade_1_5集合,数据存放在/home/mongodb/dump

    mongodump -d school -c grade_1_5 -o /home/mongodb/dump

恢复

MongoDB的恢复是利用mongorestore命令;同时列举常用的参数:

  • -hMongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
  • -d:需要备份的数据库实例,例如:schooltest
  • -c:需要备份的集合名
  • --drop : 恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用!

示例:

  1. 恢复本地MongoDbschool数据库中的grade_1_5集合

    ./bin/mongorestore -d school -c grade_1_5 /home/mongodb/dump/school/grade_1_5.bson

转载于:https://my.oschina.net/mickelfeng/blog/1543422


http://lihuaxi.xjx100.cn/news/240783.html

相关文章

RabbitMQ死信队列、延时队列

介绍: 消息被消费⽅否定确认,使⽤ channel.basicNack 或 channel.basicReject ,并且此时 requeue 属性被设置为 false 。消息在队列的存活时间超过设置的TTL时间。消息队列的消息数量已经超过最⼤队列⻓度。那么该消息将成为“死信”。“死信…

JavaScript实现智能搜索框

应用场景: 1. 搜索框在页面中占据的空间过小,希望无论浏览到什么位置,可以轻易地回到并聚焦搜索框。 2. 搜索框里面的文字大小过小,希望能够在上方开辟一块空间放大内容 解决思路: 1. 对整个页面添加键盘事件keyup…

phpstorm failed to create jvm:error code -6 解决办法 解决方法

phpStorm 软件打开运行提示 failed to create JVM的解决办法。 修改文件 D:\Program Files (x86)\JetBrains\PhpStorm 7.1.3\bin\PhpStorm.exe.vmoptions 把内存值改成标准值,文件全部内容如下: [plain] view plaincopy -server -Xms128m -Xmx512m -X…

CentOS 6.x中目录结构及用途

目录名称作用/根目录,一般根目录下只存放目录,不要存放文件/bin存放普通用户可执行的系统命令/sbin存放的是超级管理员执行的系统命令/etc系统管理和配置文件存放路径/etc/rc.d启动的配置文件和脚本存放目录/etc/passwd系统用户密码文件,包含…

JavaScript实时更新中国标准时间

用到Date对象和BOM中的setInterval()定时器。 效果如下&#xff08;每隔1s刷新一次&#xff09; 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content&q…

RMQ算法

一.概述 RMQ&#xff08;Range Minimum/Maximum Query&#xff09;&#xff0c;即区间最值查询&#xff0c;是指这样一个问题&#xff1a;对于长度为n的数列A&#xff0c;回答若干询问RMQ&#xff08;A,i,j&#xff09;(i,j<n)&#xff0c;返回数列A中下标在i&#xff0c;j…

JavaScript实现 按钮不可过频繁使用

主要用到setInterval和clearInterval方法和一个计时变量。 效果 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta na…

JVM指令详解(上)

文中提及的栈是虚拟机栈中的栈帧的操作数栈&#xff0c;本地变量表是栈帧中的本地变量表&#xff0c;如下图:/*** Author: qlq* Description* Date: 22:44 2018/9/25*/ public class MathTest {public static void main(String a[]){MathTest mathTest new MathTest();System.…