备份和恢复

复制文件系统

  冷备份:就是把mongod停了,然后拷贝相应的数据文件,最好是把一个数据库相应的数据文件夹完整的拷出,然后恢复的时候完整的拷入。
  热备份:就是mongod在运行中,可以使用db.fsyncLock();来锁定数据库,然后进行数据文件的拷贝,拷贝完成后,使用db.fsyncUnLock();解除锁定。恢复的时候,需要把mongod停了,然后把文件拷入。

 

使用mongodump来备份

  对于单独的数据库和集合还是一个好选择的

 ./mongodump --port 20011 -o ../dump/

  也可以-h指定主机和端口,-d指定数据库名字,-o指定输出的路经 , 如果mongod没有运行,使用--dbpath指定数据目录也可以

 

使用mongorestore来恢复

./mongorestore --port 20011 --drop ../dump

其中的--drop指定要删除服务器上的数据, dump/是存放备份数据的文件夹 , 当然,也可以-h指定主机和端口,-d指定数据库名字,-directoryperdb指定备份文件所在的位置

 

对副本集进行备份
建议对备份节点进行备份,最好是采用复制文件系统的方式

 

对分片集群进行备份

由于不可能对集群在某一时间点的完整状态快照,因此不太可能对正在运行的分片集群进行“完美的”备份。
因此对于分片集群进行备份恢复,更关注单个分片或者副本集的备份
注意:要进行分片集备份,需要先关闭均衡器

 

posted @ 2018-08-28 22:03  小亮的BLOG  阅读(105)  评论(0编辑  收藏  举报