首页 > 数据库 > NoSQL > mongodb备份与恢复
[root@QA-5-43 ~]# mkdir -p /data/mongodb/backup
/data/mongodb/mongodb/bin/mongodump -d scott -o /data/mongodb/backup/
mongodump mongo导出数据库命令 mongodump --help 可以查看该命令下所有的帮助
-h 导出源
-d 要导出的数据库名称
-o 数据库要导出的位置
删除scott数据库
shared:PRIMARY> show dbs;show dbs;
admin 0.078GB
local 2.077GB
scott 0.078GB
test 0.078GB
shared:PRIMARY> use scott;use scott;
switched to db scott
shared:PRIMARY> db.dropDatabase();db.dropDatabase();
{ "dropped" : "scott", "ok" : 1 }
shared:PRIMARY> show dbsshow dbs
admin 0.078GB
local 2.077GB
test 0.078GB
恢复scott数据库
/data/mongodb/mongodb/bin/mongorestore -d scott /data/backup/scott
-d 使用的数据库名称
后面直接加你刚才导出的目录,这样是直接恢复所有表
如果-c 是恢复一个表
shared:PRIMARY> use test;use test;
switched to db test
shared:PRIMARY> show collections;show collections;
system.indexes
testdb
[root@QA-5-43 scott]# /data/mongodb/mongodb/bin/mongoexport -d scott -c emp -o emp.dat
参数说明:
-d 指明使用的库, 本例中为scott
-c 指明要导出的表, 本例中为emp
可以看到导入数据的时候会隐式创建表结构
2015-08-28T05:51:06.954-0400 connected to: localhost
2015-08-28T05:51:09.714-0400 exported 100000 records
[root@QA-5-43 scott]# /data/mongodb/mongodb/bin/mongoimport -d test -c emp emp.dat
2015-08-28T05:52:11.074-0400 connected to: localhost
2015-08-28T05:52:14.072-0400 [#########...............] test.emp 2.3 MB/5.6 MB (40.0%)
2015-08-28T05:52:17.072-0400 [################........] test.emp 4.0 MB/5.6 MB (70.8%)
2015-08-28T05:52:19.454-0400 imported 100000 documents
[root@QA-5-43 scott]#
可以看出emp表杯倒入到test库中
注 默认没有collection的数据库恢复不了
其实备份和恢复比导入和导出要方便些,而且一般不会出错,所以大部分时候使用备份和恢复操作就可以了
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29898569/viewspace-1785249/ ,如需转载,请注明出处,否则将追究法律责任。