开发者社区> 自娱> 正文
阿里云
为了无法计算的价值
打开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

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

相关文章
MongoDB数据的安装与启动
MongoDB数据的安装与启动
4 0
Mongodb数据库操作
mysql/mongodb对比 CREATE TABLE USERS (a Number, b Number) Implicit or use MongoDB::createCollection().
1913 0
MongoDB数据类型
1、db.collection.find({name:{$type:2}}) //查询name字段类型为2即为String类型的所有文档。 2、null :表示空值或者不存在的字段 例如:db.collection.find({“y”:null}) 3、布尔 有2个值true或false 例如:{“y”:true} 4、数值类型 支持32-int、64-i
1262 0
MongoDB数据查询
1、find函数的介绍和使用 MongoDB数据查询使用find函数,其功能与SQL中的select函数相同,可提供与关系型数据库类似的许多功能,包括映射、排序等。 db.集合名.find(query,fields,limit,skip) query指查询条件,相当于SQL中的where语句。 例如: db.student.find({name:"joe","age"
1481 0
(转载)MongoDB数据库存储
每个 MongoDB 服务器都支持多个数据库。每个数据库都是相对独立的,并且出于安全性和为了方便管理,数据库的数据也独立存储。 Mongo元数据 在MongoDB数据库中名字空间 .system.* 是包含多种系统信息的特殊集合(Collection),如下: system.namespaces 列出所有名字空间。
679 0
+关注
自娱
阿里巴巴无线客户端性能与安全负责人 Gradle中文文档作者
文章
问答
文章排行榜
最热
最新
相关电子书
更多
阿里云MongoDB备份恢复功能说明和原理介绍
立即下载
《阿里云数据库 MongoDB 专属集群版》
立即下载
Redis&MongoDB的同步、迁移以及混合云场景构建
立即下载