文档章节

Redis数据恢复--误删数据后一次吓尿的经历

六楼的宣言
 六楼的宣言
发布于 2016/09/07 14:06
字数 411
阅读 405
收藏 0

1、起因,一个flushdb命令

因为误操作,

输入了一个flushdb命令,

导到redis里0号库里的数据全部清空,OMG,这里有不少重要信息,如果被领导知道,必开除

 

2、appendonly留有生机

仔细想想,当时数据备份是有设置日志备份的,找到Redis的配置文件redis.conf

appendonly yes

# The name of the append only file (default: "appendonly.aof")

appendfilename "appendonly.aof"

于是将appendonly.aof文件导出,自己在线下又搭了个redis,开始尝试将数据恢复出来

 

3、编辑日志文件

我最开始用的EditPlus,拉开文件,拉到最底下,看到了flushdb的操作记录,呵呵,心情大好

但是无论你怎么改appendonly.aof,都无法通过redis-check-aof的检验,会一直报数据有错,使用fix方法反而会将所有记录清空,反正是不能用EditPlus这种普通的文本编辑器了,

要用个十六进制进制编辑器,于是download了一个Hex Editor。

多找几个aof文件用来进行对比,分析它的数据格式(这个需要点耐心,反正我是用猜的),分析得出其flushdb在其中对应的字符是"*1..$7..flushdb..",删除这一段后保存。

将保存好的appendonly.aof上传到Redis的服务器,重启Redis,顺利启动,

用redis-cli查看数据,输入

keys *

有数据了,长吁一口气

       这事太丢人了,要引以为戒,想办法抹掉能抹的痕迹。事了拂衣去,早早洗了睡,不想再掺和运维的事了,太吓人了。

© 著作权归作者所有

六楼的宣言

六楼的宣言

粉丝 6
博文 44
码字总数 12536
作品 0
海淀
后端工程师
私信 提问
【HBase从入门到精通系列】误删数据如何抢救?

摘要: 前言 有时候我们操作数据库的时候不小心误删数据,这时候如何找回?mysql里有binlog可以帮助我们恢复数据,但是没有开binlog也没有备份就尴尬了。如果是HBase,你没有做备份误删了又如...

阿里云云栖社区
2018/06/12
0
0
苹果手机已删除的联系人能找回吗

苹果手机怎样找回删除的联系人?现在很多人都会有不小心把通讯录的联系人给删除的时候,如果你备份了,就没有事,如果没有备份,那么你就会很后悔,当然,你也可以选择找他要手机号,如果特别...

pyc970330
2018/07/12
0
0
mysql数据库自动化完整备份和增量备份

mysql数据库自动化完整备份和增量备份 增量备份,为了增强mysql数据库的安全性和完整性,需要对数据进行备份。这里我们采用的策略是每周五下午5:30进行一次完整备份;每天的6:00、12:10、17:...

青苗飞扬
2017/06/14
0
0
如何打造 PostgreSQL 闪回环境?

作者介绍 Lottu(乐途),目前就职于深圳宜搜科技有限公司,担任数据库DBA,主要承PostgreSQL、Oracle数据库维护工作以及数据库去O工作。 引言 在 PostgreSQL 数据库;目前是不支持类似 Oracle...

PostgreSQL中文社区
01/16
0
0
怎样才能完美恢复电脑误删文件?

信息科技的发展越来越迅猛,人们也越来越重视数据的保护工作。然而即便如此,误操作误删除等原因,还是导致数据发生了不同程度的丢失。当重要文件被误删后,相信很多人都想把文件找回来。那么...

软件贴士
2018/02/24
12
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring使用ThreadPoolTaskExecutor自定义线程池及实现异步调用

多线程一直是工作或面试过程中的高频知识点,今天给大家分享一下使用 ThreadPoolTaskExecutor 来自定义线程池和实现异步调用多线程。 一、ThreadPoolTaskExecutor 本文采用 Executors 的工厂...

CREATE_17
今天
5
0
CSS盒子模型

CSS盒子模型 组成: content --> padding --> border --> margin 像现实生活中的快递: 物品 --> 填充物 --> 包装盒 --> 盒子与盒子之间的间距 content :width、height组成的 内容区域 padd......

studywin
今天
7
0
修复Win10下开始菜单、设置等系统软件无法打开的问题

因为各种各样的原因导致系统文件丢失、损坏、被修改,而造成win10的开始菜单、设置等系统软件无法打开的情况,可以尝试如下方法解决 此方法只在部分情况下有效,但值得一试 用Windows键+R打开...

locbytes
昨天
8
0
jquery 添加和删除节点

本文转载于:专业的前端网站➺jquery 添加和删除节点 // 增加一个三和一节点function addPanel() { // var newPanel = $('.my-panel').clone(true) var newPanel = $(".triple-panel-con......

前端老手
昨天
8
0
一、Django基础

一、web框架分类和wsgiref模块使用介绍 web框架的本质 socket服务端 与 浏览器的通信 socket服务端功能划分: 负责与浏览器收发消息(socket通信) --> wsgiref/uWsgi/gunicorn... 根据用户访问...

ZeroBit
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部