资讯专栏INFORMATION COLUMN

mongo 数据恢复工具 —— mreco

Magicer / 3184人阅读

摘要:可以恢复误删的数据包括和。如果你恰好误删了数据,又没有很好的备份的话,可以尝试用进行数据恢复。恢复删除的这回恢复所有删除的中的所有。无法恢复一个指定的。热爱和数据库技术目前专注于和一些管理自动化。

mreco可以恢复误删的 mongodb 数据(包括 row 和 collection)。如果你恰好误删了数据,又没有很好的备份的话,可以尝试用mreco 进行数据恢复。

安装 依赖

c++ boost library 4.7+

mongo c++ client library

编译
git clone git@github.com:zhihuiFan/mreco.git
cd mreco
scons
使用

需要一个额外的 mongo 实例,用于储存恢复的数据。这个实例需满足:

使用默认端口(27017)

无密码

恢复删除的 row:

mreco --deleted --db=dbname --dcoll=dbname.collection --dbpath=/data/mongo/data -t abc.vip.xxx.com -c tdb.coll

其中:

--deleted 表示恢复删除的row

--dbpath mongo 数据文件的路径。如果使用了 directoryperdb,必须同时包含 db 名。

-t xxx 目标 mongo 实例。

-c tdb.coll 存储恢复数据的数据库及 collection 名称。

恢复删除的 collection:

mreco --db=dbname --dbpath=/data/mongo/data -t abc.vip.xxx.com -c tdb.coll2

这回恢复所有删除的 colleciton 中的所有 row。无法恢复一个指定的 colleciton。如果有这样的需要,可以过滤恢复出来的数据。

报告 bug

zhihuifan@163.com

已知问题

mreco 不适用于 r2.4.6 (73ca6bf23e0d37ee781085466df6c989558c64a3) 以后的版本。

作者

mreco 的作者 zhihuiFan,是 eBay 的 DBA。热爱c++, python 和数据库技术. 目前专注于MongoDB 和一些管理自动化。

项目主页

GitHub页面


编撰 SegmentFault

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/18713.html

相关文章

  • MongoDB 资源、库、工具、应用程序精选列表中文版

    摘要:推荐阅读资源库工具应用程序精选列表中文版有哪些鲜为人知,但是很有意思的网站一份攻城狮笔记每天搜集上优秀的项目一些有趣的民间故事超好用的谷歌浏览器油猴插件合集目录资源文档文章图书会谈教程更多库工具管理数据部署桌面发展监控应用资源文档介绍文档教 推荐阅读 MongoDB 资源、库、工具、应用程序精选列表中文版 有哪些鲜为人知,但是很有意思的网站? 一份攻城狮笔记 每天搜集 Github ...

    e10101 评论0 收藏0
  • 详细图解mongodb下载、安装、配置与使用

    摘要:详细图解,记录安装数据库的过程。安装的版本是。如果开启了安全性检查,则只有数据库认证用户才能执行读或者写操作。在认证的上下文中,会将普通的数据作为数据库处理。数据库中的用户被视为超级用户即管理员。 记得在管理员模式下运行CMD,否则服务将启动失败。 详细图解,记录 win7 64 安装mongo数据库的过程。安装的版本是 MongoDB-win32-x86_64-2008plus-ss...

    Atom 评论0 收藏0
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化

    摘要:则在读取数据时将两个中文字段混淆成了一个字段,导致整个数据结构错乱。三条路子全军覆没,这让我情何以堪,好在使用的经验颇丰,通过中文的转换和切割就轻松解决了这个问题。 概述 showImg(https://segmentfault.com/img/bVylLL); 在现实场景中,由于数据来源的异构,数据源的格式往往是难以统一的,这就导致大量具有价值的数据通常是以非结构化的形式聚合在一起的...

    leiyi 评论0 收藏0
  • 用Docker和Kubernetes将MongoDB作为微服务来运行

    摘要:注意事项用容器和编排工具运行介绍了一些额外注意事项数据库是有状态的。尤其,在副本集合中,一个节点必须被用来执行和命令。名字叫做的被配置用来确保的单个实例是一直在运行的。 想要在你的手提电脑上尝试MongoDB吗?执行一个命令,然后拥有一个轻量级,独立的沙箱;再执行一个命令,删除你完成之后所有的痕迹。是不是需要一个在多个环境中都跟你的应用程序堆栈一样的应用程序?创建一你自己的容器镜像,然...

    Neilyo 评论0 收藏0
  • 用Docker和Kubernetes将MongoDB作为微服务来运行

    摘要:注意事项用容器和编排工具运行介绍了一些额外注意事项数据库是有状态的。尤其,在副本集合中,一个节点必须被用来执行和命令。名字叫做的被配置用来确保的单个实例是一直在运行的。 想要在你的手提电脑上尝试MongoDB吗?执行一个命令,然后拥有一个轻量级,独立的沙箱;再执行一个命令,删除你完成之后所有的痕迹。是不是需要一个在多个环境中都跟你的应用程序堆栈一样的应用程序?创建一你自己的容器镜像,然...

    mo0n1andin 评论0 收藏0

发表评论

0条评论

Magicer

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<