欢迎光临
我们一直在努力

mongodb 备份和恢复

mongodb提供了两个命令用来备份(mongodump)和恢复(mongorestore)数据,数据dump出来的格式是BSON的
1.mongodump 备份
用法:bin/mongodump [options]
举例:将本机6666端口的数据库备份到本机的/data/6666目录下
bin/mongodump –port 6666 –directoryperdb -o /data/6666
connected to: 127.0.0.1:6666
all dbs
DATABASE: test  to  /data/6666/test
test.system.indexes to /data/6666/test/system.indexes.bson
1 objects
test.ints to /data/6666/test/ints.bson
4 objects
DATABASE: admin  to  /data/6666/admin
2.mongorestore 恢复
用法:bin/mongorestore [options] [directory or filename to restore from]
举例:将数据库test删除,然后从备份目录恢复
> show dbs
admin  (empty)
local  4.201171875GB
test  0.203125GB
> use test
switched to db test
> db.dropDatabase()
{ “dropped” : “test”, “ok” : 1 }
> show dbs
admin  (empty)
local  4.201171875GB
使用mongorestore恢复
bin/mongorestore -host 127.0.0.1:6666 –directoryperdb  /data/6666/ 
connected to: 127.0.0.1:6666
Wed Jul  6 16:37:33 /data/6666/test/ints.bson
Wed Jul  6 16:37:33  going into namespace [test.ints]
Wed Jul  6 16:37:33  4 objects found
Wed Jul  6 16:37:33 /data/6666/test/system.indexes.bson
Wed Jul  6 16:37:33  going into namespace [test.system.indexes]
Wed Jul  6 16:37:33 { name: “_id_”, ns: “test.ints”, key: { _id: 1 }, v: 0 }
Wed Jul  6 16:37:33  1 objects found
查看数据库是否恢复
> show dbs
admin  (empty)
local  4.201171875GB
test  0.203125GB
mongorestore有个参数–drop,使用此参数,会先将集合里的数据都删除了再恢复
就是说,如果你备份完数据后有新增数据,那么使用–drop,新增的数据会不见
不使用此参数,恢复备份的时候新增的数据依然存在

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。