• mongodb备份与恢复


    转载:https://www.cnblogs.com/jiekzou/p/9109137.html

    系统环境

    服务器系统:Windows Server2012 R2

    MongoDB:v3.4.4

    可以通过命令:mongo -version 查看版本信息

    场景:备份数据库smp_maint_2,还原到新建的数据库smp_maint_2_restore中。

    MongoDB数据库备份

        1、语法:
            mongodump -h dbhost -d dbname -o dbdirectory
            参数说明:
                -h: MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
                -d: 需要备份的数据库实例,例如:test
                -o: 备份的数据存放位置,例如:/home/mongodump/,当然该目录需要提前建立,这个目录里面存放该数据库实例的备份数据。

       -c: 需要恢复的集合
       -f: 需要导出的字段(省略为所有字段)

       -u:用户名

       -d:用户密码

      mongoexport -h dbhost -d dbname -c collectionname -f collectionKey -o dbdirectory
        2、实例:

    先通过服务器上面安装的Mongodb服务器找到服务的所在路径:C:Program FilesMongoDBServer3.4inmongod.exe

    先在服务器上面创建文件目录:E:datahomemomgodump

    然后以管理员身份打开CMD,然后跳转到Mongodb所在路径,执行如下命令:

    mongodump -h 192.168.1.18:27017 -d smp_maint_2 -o E:datahomemomgodump

     运行结果如下:

    备份完成之后,我们再看下备份目录下面自动创建了一个和数据库名称一样的目录,目录下面有如图所示备份文件

    MongoDB数据库恢复

      单个collection恢复:
      mongoimport -d dbhost -c collectionname –type csv –headerline –file
      -type: 指明要导入的文件格式
      -headerline: 批明不导入第一行,因为第一行是列名
      -file: 指明要导入的文件路径

        1、语法:
            mongorestore -h dbhost -d dbname --dir dbdirectory
     
            参数或名:
                -h: MongoDB所在服务器地址
                -d: 需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2
                --dir: 备份数据所在位置,例如:/home/mongodump/itcast/
                --drop: 恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用!
        2、实例:

    新建mongodb数据库smp_maint_2_restore,然后执行如下命令:

    mongorestore -h 192.168.1.18:27017 -d smp_maint_2_restore --dir E:datahomemomgodumpsmp_maint_2

     运行结果如下所示:


       

      还原成功!

    转载:https://blog.csdn.net/aafeiyang/article/details/88107884

    1.先查看表中数据量:
    db.score.find().count();2401
    db.student.find().count() 2992

    2.进入到Mongo DB的安装目录的此路径下:/home/ubuntu/softwares/mongodb/bin

    3.执行备份命令:./mongodump -h 192.168.123.133 -d testBackUp -o /myApplication/mongoDBData
      
    3. 删除原来DB :use testBackUp ,db.dropDatabase();

    4.停止mongoDB,修改数据存储目录(如果不是Root操作,请先创建该目录及Log文件,再授权)

    dbpath=/myApplication/mongoDBData/mongoData
    logpath=/myApplication/mongoDBData/mongoLog/mongodb.log
    logappend = true
    fork=true
    bind_ip = 192.168.123.133
    port=27017

    5.启动mongoDB,注意要带配置文件 ,要不然会使用默认的,使用该命令:./mongod -f mongodb.conf
       生产环境执行后台启动,要不然Xshell一关闭,服务就停了:nohup sudo ./mongod -f /etc/mongod.conf >> /datadrive2/mongodbLog/output.log 2>&1 &
       
    6.执行还原命令:./mongorestore -h 192.168.123.133 -d newNameBackUp /myApplication/mongoDBData/testBackUp


    PS:不要用kill -9 PID来杀死MondoDB进程,这样可能会导致MongoDB的数据损坏,使用以下命令停止:
    > use admin;
    switched to db admin
    > db.shutdownServer();
    server should be down...

    以下为另一种起动及停止方式。
    sudo service mongod start
    sudo service mongod stop
    其他更详细操作:https://www.jb51.net/article/40285.htm

    #写法1
    mongorestore --collection collection --db database filePath
    #写法2(推荐写法)
    mongorestore --nsInclude database.collections filePath
  • 相关阅读:
    切割自动贴标机功能、原理与常见问题回答
    WINCE中蓝牙扫描模块现10050,控制器无法找到错误的解决思路
    在WINCE中基于ActiveSync的Socket通信 c#
    cs关于房间分配
    JS判断单、多张图片加载完成
    在网站中添加 React
    tcp读取数据的方法
    微软发布2011年耐用消费品行业微软CRM解决方案 一方水土
    Microsoft Dynamics CRM4.0介绍 一方水土
    徐工集团再度携手瑞泰搭建Call Center管理平台 一方水土
  • 原文地址:https://www.cnblogs.com/ssjf/p/11188440.html
Copyright © 2020-2023  润新知