2019独角兽企业重金招聘Python工程师标准>>>

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 *

有数据了,长吁一口气

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

转载于:https://my.oschina.net/u/2604795/blog/743616

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

  1. MySQL误删数据后,查找操作日志并恢复数据

    有时候直接操作数据库,可能会出现误删除一些数据的情况,比如删了某个表中某一行数据,事后发现该条数据是误删的,还需要恢复,但是又不太记得具体每个字段原来的数据是什么了,只能要查到之前删掉的数据每个字段值 ...

  2. db2怎么恢复误删除的数据_DB2误删数据后的恢复方法实践

    1.在源库中使用以下语句生成重定向脚本: db2 "restore db dbname from /yourdbparth taken at timestamp into dbname re ...

  3. MySQL误删数据后快速恢复的方法

    传统解法 用全量备份重搭实例,再利用增量binlog备份,恢复到误操作之前的状态.然后跳过误操作的SQL,再继续应用binlog. 利用binlog2sql快速闪回 首先,确认你的MySQL serv ...

  4. mysql误删数据后 快速恢复的办法

    手抖不小心把表里的数据删除或修改错误怎么办?该如何快速恢复呢?遇到这样的问题怎么办?希望下面这篇文章能够帮助到你! 第一步:保证mysql已经开启binlog,查看命令: 查看binklog是否开启 ...

  5. 《MySQL实战45讲》——学习笔记31 “误删数据的解决方案(删行/删表/删库/删实例)“

    本篇介绍MySQL误删数据的几种情况以及误删后的处理方法,包括: 使用delete语句误删数据行: 使用drop table或者truncate table语句误删数据表: 使用drop databa ...

  6. SQL Server 2014 数据库误删数据的恢复处理

    一.序言 作为程序开发人员或 DBA,经常会接触到数据库(以 SQL Server 2014 数据库为例)的增.删.改查操作.执行 delete 语句时不小心误删数据表的记录情况,而数据库之前又没有任 ...

  7. oracle用户删除了可以恢复吗,oracle_oracle误删数据恢复方法小结,如果用户误删/更新了数据后, - phpStudy...

    oracle误删数据恢复方法小结 如果用户误删/更新了数据后,作为用户并没有什么直接的方法来进行恢复,他们必须求助DBA来对数据库进行恢复,到了Oracle9i,这一个难堪局面有所改善.Or(www. ...

  8. Oracle Drop误删表、Delete误删表数据后恢复方法

    关于ORALCE误删表后恢复 1. 查看回收站的表: select object_name,original_name,type,createtime,droptime from recyclebin ...

  9. python 读取redis数据后转为dataframe格式数据

    思路 读取大规模数据需要借助pipeline,速度会更快 在读取后,需要删除掉异常读取的数据,pipeline不会报错,但是会返回一个type(line).__name__ == "Resp ...

最新文章

  1. python 导入库:from scipy.misc import imread出错问题
  2. 超强实时人像抠图算法开源,随心所欲背景替换!
  3. 解释ROM、RAM、SRAM、DRAM与FLASH在使用上的区别及其原因
  4. OpenCASCADE:构建配置文件
  5. C语言实现MATLAB 6.5中M文件的方法
  6. 洛谷 P1208 [USACO1.3]混合牛奶 Mixing Milk
  7. java私聊_【转帖】实现了视频私聊功能
  8. 商城管理系统源码 商城APP源码 电子商城源码
  9. 全国省市区三级JSON 包括地区编码
  10. 其于js的五笔输入法!
  11. LaTeX数学公式常用符号
  12. 2019携程校园招聘编程题(2)取满足条件订单号
  13. 【烈日炎炎战后端】Elecsticsearch(1.5万字)
  14. 弘辽科技:拼多多怎么提升访客量?有哪些方法?
  15. idea中创建并使用自定义maven模板
  16. 电脑ftp服务器信息,电脑上的ftp信息服务器地址
  17. Flink获取外部传递参数的两种方式
  18. SLAM——ORB-SLAM3代码分析(七)Converter
  19. IT女白领突击怀孕避裁员
  20. Android百度地图屏蔽油站,怎么用android百度地图api获取离当前位置最近的加油站...

热门文章

  1. centos7输入systemctl status network.service出现Unit network.service could not be found的解决办法
  2. java设计模式之设计原则⑥里氏代换原则
  3. 数组去重(JavaScript)先从网上整理一波,待验证
  4. 安检X光机下的春运归家图 宛如一幅幅水彩画
  5. 强迫用户升Win10?旧版Windows放弃对新CPU更新支持
  6. 配置ip yum 单用户 救援 运行级别
  7. linux 软raid创建过程
  8. 如何使用robots.txt[摘自网络]
  9. 淘宝+天猫+闲鱼卖的翻新货店家汇总(持续更新)
  10. barrier相關知識點整理(还没搞完)