博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[mongodb]数据库备份与还原
阅读量:5742 次
发布时间:2019-06-18

本文共 2561 字,大约阅读时间需要 8 分钟。

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

转载地址:http://stszx.baihongyu.com/

你可能感兴趣的文章
python分类
查看>>
GitBlit (1)-- 在linux 安装 GitBlit 并运行
查看>>
程序是如何执行的(一)a=a+1
查看>>
18 已知下面的字符串是通过RANDOM随机数变量md5sum|cut-c 1-8截取后的结果
查看>>
BZOJ - 3578: GTY的人类基因组计划2
查看>>
爱——无题
查看>>
分布式服务框架原来与实践 读书笔记一
查看>>
【http】post和get请求的区别
查看>>
TFS强制撤销某个工作区的文件签出记录
查看>>
EL表达式无法显示Model中的数据
查看>>
ps6-工具的基础使用
查看>>
灵活运用 SQL SERVER FOR XML PATH
查看>>
linux下使用过的命令总结(未整理完)
查看>>
时间助理 时之助
查看>>
英国征召前黑客组建“网络兵团”
查看>>
Silverlight 2.5D RPG游戏“.NET技术”技巧与特效处理:(十二)魔法系统
查看>>
PHP 命令行模式实战之cli+mysql 模拟队列批量发送邮件(在Linux环境下PHP 异步执行脚本发送事件通知消息实际案例)...
查看>>
pyjamas build AJAX apps in Python (like Google did for Java)
查看>>
LAMP环境搭建1-mysql5.5
查看>>
centos5.9使用RPM包搭建lamp平台
查看>>