Chinaunix首页 | 论坛 | 博客
  • 博客访问: 273035
  • 博文数量: 52
  • 博客积分: 120
  • 博客等级: 民兵
  • 技术积分: 1189
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-03 15:41
个人简介

MySQL DBA

文章分类

全部博文(52)

文章存档

2013年(51)

2011年(1)

分类: NOSQL

2013-03-07 14:01:54

mongo 数据库备份恢复

 

1.     文件备份(冷备)

直接备份mongodb的数据目录。需要停止mongo server 拷贝数据目录进行完整有效的备份。

2.     工具备份(热备)

mogodump,备份工具。mongorestore 恢复工具。

mongodump 参数:-h –u –p   server 信息

--dbpath      制定后直接拷贝指定数据目录。需停止mongo server

--direcoryperdb              --dbpath 指定后备份分库存放

              -o                备份数据目录

       mongorestore 参数:-h –u –p server信息

-d      指定db

            -c           指定collection

            --objcheck              恢复前进行验证

            --filter arg                     恢复前进行过滤

            --drop                  drop each collection before import

            --oplogReplay           对指定时间点的恢复进行oplog回放

            --keepIndexVersion      恢复数据但不更新索引

3. fsync and lock

  强制刷新所有更改到磁盘,并维护一个全局锁。再进行拷贝数据目录进行备份。刷新时间中影响系统性能,锁的过程中阻塞读。

> use admin

switched to db admin

> db.runCommand({"fsync":1,"lock":1});

{

       "info" : "now locked against writes, use db.fsyncUnlock() to unlock",

       "seeAlso" : "",

       "ok" : 1

}

> inf="make snapshoot of data dir."

make snapshoot of data dir.

> db.$cmd.sys.unlock.findOne()

{ "ok" : 1, "info" : "unlock completed" }

> db.currentOP()

{ "inprog" : [ ] }

4.复制,通过slave来备份数据,也是比较常用而且有效的备份。

 

恢复

--repair       mongod 启动选项,mongod异常退出后,可使用repair 参数启动。修复的过程:验证所有的数据,忽略损坏的数据,重建所有的索引。同时对数据空间做了整理。

在线修复:

> use db

switched to db db

> db.repairDatabase()

{ "ok" : 1 }

>

阅读(3799) | 评论(0) | 转发(0) |
0

上一篇:Mongo 配置文件

下一篇:mongodb 分区

给主人留下些什么吧!~~