开发者社区> 自娱> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

[mongodb]数据库备份与还原

简介:
+关注继续查看
mongodb提供了两个命令来备份(mongodump )和恢复(mongorestore )数据库。 

1.备份(mongodump ) 

用法 : 
[root@web3 3]# mongodump --help 
options: 
--help                   produce help message 
-v [ --verbose ]         be more verbose (include multiple times for more 
verbosity e.g. -vvvvv) 
-h [ --host ] arg        mongo host to connect to ("left,right" for pairs) 
-d [ --db ] arg          database to use 
-c [ --collection ] arg  collection to use (some commands) 
-u [ --username ] arg    username 
-p [ --password ] arg    password 
--dbpath arg             directly access mongod data files in the given path, 
instead of connecting to a mongod instance - needs 
to lock the data directory, so cannot be used if a 
mongod is currently accessing the same path 
--directoryperdb         if dbpath specified, each db is in a separate 
directory 
-o [ --out ] arg (=dump) output directory 

例子: 

[root@web3 ~]# mongodump -h 192.168.1.103 -d citys -o /backup/mongobak/3 
connected to: 192.168.1.103 
DATABASE: citys  to     /backup/mongobak/3/citys 
citys.building to /backup/mongobak/3/citys/building.bson 
13650 objects 
citys.system.indexes to /backup/mongobak/3/citys/system.indexes.bson 
1 objects 

备份出来的数据是二进制的,已经经过压缩。比实际数据库要小很多,我的数据库显示占用了260多M,备份后只有2M。 

2.恢复(mongorestore ) 

用法: 
[root@web3 3]# mongorestore --help 
usage: mongorestore [options] [directory or filename to restore from] 
options: 
--help                  produce help message 
-v [ --verbose ]        be more verbose (include multiple times for more 
verbosity e.g. -vvvvv) 
-h [ --host ] arg       mongo host to connect to ("left,right" for pairs) 
-d [ --db ] arg         database to use 
-c [ --collection ] arg collection to use (some commands) 
-u [ --username ] arg   username 
-p [ --password ] arg   password 
--dbpath arg            directly access mongod data files in the given path, 
instead of connecting to a mongod instance - needs to 
lock the data directory, so cannot be used if a 
mongod is currently accessing the same path 
--directoryperdb        if dbpath specified, each db is in a separate 
directory 
--drop                  drop each collection before import 
--objcheck              validate object before inserting 

--drop参数可以在导入之前把collection先删掉。 

例子: 

[root@web3 3]# mongorestore -h 127.0.0.1 --directoryperdb /backup/mongobak/3/         
connected to: 127.0.0.1 
/backup/mongobak/3/citys/building.bson 
going into namespace [citys.building] 
13667 objects 
/backup/mongobak/3/citys/system.indexes.bson 
going into namespace [citys.system.indexes] 
1 objects 

另外mongodb还提供了mongoexport 和 mongoimport 这两个命令来导出或导入数据,导出的数据是json格式的。也可以实现备份和恢复的功能。 

例: 

mongoexport -d mixi_top_city_prod -c building_45 -q '{ "uid" : "10832545" }' > mongo_10832545.bson 

mongoimport -d mixi_top_city -c building_45 --file mongo_10832545.bson

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MySQL数据库(23):数据库备份与还原
MySQL数据库(23):数据库备份与还原
0 0
php 数据库备份与还原
写个用php备份数据库的方法:我这里用的是thinkphp5.0框架,去php中文网找了个对应的model,经过一番调试。
0 0
oracle数据库exp命令导入导出dmp文件演示,oracle数据库备份还原功能
oracle数据库exp命令导入导出dmp文件演示,oracle数据库备份还原功能
0 0
批处理(bat)实现SQLServer数据库备份与还原
原文:批处理(bat)实现SQLServer数据库备份与还原 备份数据库.bat @echo off set path=%path%;C:\Program Files (x86)\Mi...
931 0
+关注
自娱
阿里巴巴无线客户端性能与安全负责人 Gradle中文文档作者
文章
问答
文章排行榜
最热
最新
相关电子书
更多
MongoDB秒级备份恢复
立即下载
MongoDB与大数据 阿里云MongoDB备份恢复功能说明
立即下载
阿里云MongoDB备份恢复功能说明和原理介绍
立即下载