• 一次生产环境下MongoDB备份还原数据


    最近开发一个版本的功能当中用到了MongoDB分页,懒于造数据,于是就研究了下从生产环境上导出数据到本地来进行测试。

    研究了一下,发现MongoDB的备份还原和MySQL语法还挺类似,下面请看详细介绍。

    一、备份数据

    因为需要测试数据,所以先要从生产服务器(CentOS 6.5)上备份出一份数据出来,

    格式:  mongodump-h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存在路径

    示例:

     /opt/mongodb/bin/mongodump -h 127.0.0.1 --port 27017 -u 用户名 -p 密码 -d ad_api_count -o /tmp

    (注意Linux下如果密码有特殊字符需要转义)

    进入到备份出来的数据ad_api_count目录下,可以看到ad_api_count中两个集合的信息

    二、还原数据库

    把生产环境下导出数据库下载到本地的e:eead_api_count下,接下来我们就可以导入数据到本地MongoDB进行测试了

    命令格式:mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 文件名的具体路径(后缀格式为bson)

    示例:

    cd C:Program FilesMongoDBServer3.4in
    mongorestore.exe -h 127.0.0.1 --port 27017 -u 用户名 -p 密码 -d ad_api_count e:custad_api_countuserAdCount.bson

    如上图,我们知道就完成了还原工作

    三、其他

    mongoexport导出表,或导出表中部分字段:

    命令格式:mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 --csv -o 文件名的具体路径(后缀格式可以是.dat或.csv);

    mongoimport导入表,或者表中部分字段 :

    1.还原整表导出的非csv文件

       命令格式:mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsert --drop 文件名的具体路径   (--drop当不需要删除源文件可不加)

    2.还原部分字段的导出文件

      命令格式:mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsertFields 字段 --drop 文件名的具体路径 (--drop当不需要删除源文件可不加)

    3.还原导出的csv文件(导出数据时如果不加--csv选项,导出的数据就会存在很多双引号,导入就会失败)

      命令格式:mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --type 类型(csv) --headerline --upsert --drop 文件名的具体路径  

      注意:如果数据库存在数据,要导入最新的数据,则需要加--upsert选项,会更新数据,否则会报错(提示重复键错误收集)

  • 相关阅读:
    编译原理 —— 正规式、正规集和正则定义
    NFA的确定化
    第三章 词法分析与有限自动机
    文法:0型【短语文法】、1型【上下文有关文法】、2型【上下文无关文法】、3型【正规文法】
    语法树、短语、直接短语、句柄、素短语、最左素短语
    【第1章 编译概述】1.2编译程序的发展
    【第1章 编译概述】1.2编译的各个阶段
    【第1章 编译概述】1.1 编译程序功能
    【第1章 编译概述】1.1 程序设计语言
    【第9章 目标代码生成】9.3 简单代码生成器
  • 原文地址:https://www.cnblogs.com/zishengY/p/7615731.html
Copyright © 2020-2023  润新知