博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
换一种方式来解决问题
阅读量:6820 次
发布时间:2019-06-26

本文共 965 字,大约阅读时间需要 3 分钟。

周五收到开发同学通知,由于程序bug导致误更新了用户的数据,需要将21号的数据拿出来分析,然后重新插入进去。当时就咨询了同学,问问他们该怎么恢复,由于我们数据采用的是xtrabackup方式来备份数据,在恢复数据的时候需要将备份数据拷贝到另外一台机器上,在把数据还原出来。但是不幸的是我们的备份有问题,苏普同学恢复了两次也没有恢复成功,难道真的要面临数据丢失了吗,开发同学不停的在旺旺上问恢复好没有,在这个时候你能说我们的备份有问题吗,不能!

这个时候突发想到了开发同学在给我用户id查看更新后数据的时候,发现该记录的创建时间和更新时间分别为:

root@dc_pages_bak 06:06:37>select gmt_created,gmt_modified

->   from tfs_0007
->  where user_id = 217101303
->    and gmt_created <= ‘2011-4-23’
->    and gmt_created >= ‘2011-4-19’;
+———————+———————+
| gmt_created         | gmt_modified        |
+———————+———————+
| 2011-04-21 17:29:39 | 2011-04-22 18:01:21 |
该用户的记录是在4-22号被更新的,但是创建时间是在4-21,这个时候仿佛看到了曙光,因为今天4-22,那么昨天做的插入在binlog中还有保留的一份的吧,我们的binlog保留的时间为一周,于是找到备份目录中在4-21 ,17点30左右的binlog,然后用mysqlbinlog分析日志,找到插入的语句;在分析了两份binlog后,终于找到了21号插入的这条数据:

INSERT INTO tfs_0007 (user_id, *,*,*,*,gmt_created, gmt_modified)

VALUES (217101303, *,*,*,*,now(),now());

数据找到了,换另一种方式来解决问题,虽然有一定的局限性,但是成功了如果早一点想到该办法,也不会给用户带来那么多的不爽的体验;

至于为什么我们的xtrabackup为什么恢复会出现问题,还需要和苏普他们确认一下,这个问题不小啊。

转载地址:http://swmzl.baihongyu.com/

你可能感兴趣的文章
轻松解决ubuntu系统引导问题
查看>>
用Vue来实现音乐播放器(十四):歌手数据接口抓取
查看>>
laya在微信小游戏中加载BitmapFont失效的问题
查看>>
二阶段冲刺04
查看>>
Domain Logic approaches
查看>>
curl命令测试服务器是否支持断点续传
查看>>
LinkedList源码解析
查看>>
跟我学算法-吴恩达老师(超参数调试, batch归一化, softmax使用,tensorflow框架举例)...
查看>>
airflow 某个DAG不在web界面显示
查看>>
neo4j高可用环境搭建
查看>>
解析json的方法
查看>>
orm查询存在价格为空问题
查看>>
iptables
查看>>
input type file onchange上传文件的过程中,同一个文件二次上传无效的问题。
查看>>
CSS3 圆角(border-radius)
查看>>
win7下安装tomcat
查看>>
java基础之short转换byte[]
查看>>
第一次阅读作业
查看>>
Java.lang.Comparable接口和Java.util.Comparator接口的区别
查看>>
使用Python的turtle模块画出简单的柱状图
查看>>