转载: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 Files\MongoDB\Server\3.4\bin\mongod.exe

先在服务器上面创建文件目录:E:\data\home\momgodump

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

mongodump -h 192.168.1.18:27017 -d smp_maint_2 -o E:\data\home\momgodump

 运行结果如下:

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

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:\data\home\momgodump\smp_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
posted on 2019-07-15 13:48  诉说静风  阅读(3454)  评论(0编辑  收藏  举报

Live2D
快把你的小爪子拿开!