mongodb的备份、恢复、迁移、回滚

19 篇文章 0 订阅

一、 备份与恢复

在创建MongoDB服务的时候,通过--dbpath指定目录就是存放mongdb数据库文件目录,我们可以通过复制这些文件实现数据库的冷备,但是这种方式不太安全。因此在冷备前,要关闭服务器。

>use admin

>db.shutdownServer()

或者可以通过fsync方式使MongoDB将数据写入缓存中,然后再复制备份

>use admin

>db.runCommand({"fsync":1,"lock":1})

这个时候我往user 插入了一条数据 user_name:steven ,再执行db.user.find()后,并没有查到这条记录,说明记录没有直接写入数据库,而是被缓冲到缓存中了。

备份完后,要解锁(防止这个时候停电或其它原因,导致未缓存中的数据丢失)。

>use admin

>db.$cmd.sys.unlock.findOne()

>db.currentOp() 

如果currentOp 只返回{"inprog":[]}结果,说明解锁成功。

解锁后,缓存中的数据会写入数据库文件中,我们去查询user结果。


二、 monogodump与mongorestore

>use vevideo_vt

./mongodump --host 192.168.5.241:27017 -u al_user -p 123456 -d vevideo_vt -c ad_district --authenticationDatabase admin -o dump

./mongorestore --host 192.168.5.242:27017 -u al_user -p 123456 --authenticationDatabase admin -d vevideo_vt -c ad_district --dir dump/vevideo_vt/*.bson --drop



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值