MongoDB 备份与恢复的实践
2013-10-12 16:59
316 查看
网站运行了不少日子了,一些数据需要备份。今天研究了下MongoDB的一些有关备份的方法:
1)使用mongodump和mongorestore工具:(参见http://cn.docs.mongodb.org/master/reference/program/mongodump/)
使用起来很简单,在任何目录执行mongodump就行了(把mongodb安装路径下的bin加到环境变量path里面),它会自动连接到MongoDB数据库(通过默认host名和默认端口号),然后把dump出来的内容保存在名为dump的子目录下,每个database一个目录,一个collection生成2个文件(bson和json)文件:json文件是collection的定义,bson是二进制的数据,可以用mongodb的另外一个自带工具bsondump来查看(压缩率大概是85%+)。恢复的话,也简单,在同一目录下执行
mongorestore dump就行了,他会把数据全部导回去。具体的一些参数和细节,可以官方文档。
2)使用db.copyDatabase(...)命令来整个复制远程数据库:(参见http://docs.mongodb.org/manual/reference/method/db.copyDatabase/)
我本地新装了MongoDB,想备份远程MongoDB的所有数据,就需要用到这个命令,在mongo.exe的命令行输入:
第一个参数是远程数据库的Database名字,第二个参数是拷贝到本地的哪个数据库,第三个参数是远程数据库的host名。也很简单。
3)使用db.repairDatabase()来压缩数据库:(参见http://docs.mongodb.org/manual/reference/command/repairDatabase/#dbcmd.repairDatabase)
用的时间长了MongoDB就变得很大,需要清理一下,用这个命令就可以,先用use命令切换到哪个数据库,然后执行db.repairDatabase()就行。注意,最好把数据库停掉再压缩。
4) 使用主从备份机制:(参见http://database.51cto.com/art/201107/278632_1.htm)
启动master数据库:
启动slave数据库:
好了,一旦从数据库启动,就会自动sync数据,可以在很明显的在控制台看到他辛勤的劳作~
其他参考:
http://database.51cto.com/art/201107/278632_1.htm
http://blog.csdn.net/wangpeng047/article/details/7705588
http://www.2cto.com/database/201307/224647.html
http://www.cr173.com/html/19181_1.html
1)使用mongodump和mongorestore工具:(参见http://cn.docs.mongodb.org/master/reference/program/mongodump/)
使用起来很简单,在任何目录执行mongodump就行了(把mongodb安装路径下的bin加到环境变量path里面),它会自动连接到MongoDB数据库(通过默认host名和默认端口号),然后把dump出来的内容保存在名为dump的子目录下,每个database一个目录,一个collection生成2个文件(bson和json)文件:json文件是collection的定义,bson是二进制的数据,可以用mongodb的另外一个自带工具bsondump来查看(压缩率大概是85%+)。恢复的话,也简单,在同一目录下执行
mongorestore dump就行了,他会把数据全部导回去。具体的一些参数和细节,可以官方文档。
2)使用db.copyDatabase(...)命令来整个复制远程数据库:(参见http://docs.mongodb.org/manual/reference/method/db.copyDatabase/)
我本地新装了MongoDB,想备份远程MongoDB的所有数据,就需要用到这个命令,在mongo.exe的命令行输入:
> db.copyDatabase("CERConfig", "CERConfig", "cerreport.xxx.com") { "ok" : 1 } > db.copyDatabase("CERDataCache", "CERDataCache", "cerreport.xxx.com") { "ok" : 1 } > show dbs CERConfig 0.203125GB CERDataCache 3.9521484375GB local 0.078125GB test (empty)
第一个参数是远程数据库的Database名字,第二个参数是拷贝到本地的哪个数据库,第三个参数是远程数据库的host名。也很简单。
3)使用db.repairDatabase()来压缩数据库:(参见http://docs.mongodb.org/manual/reference/command/repairDatabase/#dbcmd.repairDatabase)
用的时间长了MongoDB就变得很大,需要清理一下,用这个命令就可以,先用use命令切换到哪个数据库,然后执行db.repairDatabase()就行。注意,最好把数据库停掉再压缩。
4) 使用主从备份机制:(参见http://database.51cto.com/art/201107/278632_1.htm)
启动master数据库:
bin\mongod --logpath "C:\CERWeb\mongodb\log\mongod.log" --dbpath "C:\CERWeb\mongodb\data" --master
启动slave数据库:
bin\mongod --dbpath "C:\CERWeb2\mongodb\data" --slave --source cerreport.xxx.com
好了,一旦从数据库启动,就会自动sync数据,可以在很明显的在控制台看到他辛勤的劳作~
其他参考:
http://database.51cto.com/art/201107/278632_1.htm
http://blog.csdn.net/wangpeng047/article/details/7705588
http://www.2cto.com/database/201307/224647.html
http://www.cr173.com/html/19181_1.html
相关文章推荐
- MongoDB 备份与恢复的实践
- mongodb备份与恢复
- 关于备份和恢复的10 个最佳实践 (文档 ID 1549189.1)
- Mongodb 备份与恢复
- Oracle冷备份数据库及rman恢复实践
- mongodb备份和恢复
- MongoDB备份与恢复
- 通过mongodump和mongorestore实现Mongodb备份和恢复
- MongoDB的备份(mongodump)与恢复(mongorestore)
- MongoDB导出、备份、恢复
- MongoDB数据文件备份与恢复
- mongodb的备份与恢复
- mysql 数据表备份导出,恢复导入操作实践
- MongoDB -- 介绍、安装、库管理、备份以及恢复
- mongodb数据备份与恢复
- MongoDB数据库的文件备份恢复以及文件导入导出
- mongodb的备份(mongodump)与恢复(mongorestore)
- 芒果知识补充(1)mongodb 单机的备份与恢复
- Mongodb数据的备份与恢复