您的位置:首页 > 数据库 > Mongodb

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

2016-05-11 18:16 591 查看
一、 备份与恢复

在创建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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mongodb 备份 迁移