前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据惊魂日

数据惊魂日

作者头像
海哥@开发
发布2022-04-06 14:30:02
2760
发布2022-04-06 14:30:02
举报
文章被收录于专栏:海哥聊技术

事件起因

早起删除mysql库中异常数据,使用控制台ssh连接上进行删除。第一次删除成功,第二次删除改写where条件。中文输入法忘记关闭,没有确认SQL语句,点击Enter..........意外的整表被清空了。

第一件事锁表 `lock table xxx;`

开搜索引擎开始查找,大多方案都是通过binlog进行恢复。但是我的mysql跑在了arm的机器上,为了节省资源没开binlog.

继续搜索找到了一个通过idb文件 恢复的方案。首先备份你的idb文件。

下载并编译恢复程序

代码语言:javascript
复制
#下载并解压文件
wget https://launchpad.net/percona-data-recovery-tool-for-innodb/trunk/release-0.5/+download/percona-data-recovery-tool-for-innodb-0.5.tar.gz
tar -zxvf percona-data-recovery-tool-for-innodb-0.5.tar.gz
#准备编译环境,在arm的机器上好多类库不好找到,我已经把idb文件拷贝到另外 一台x86的centos机器上
#安装依赖库
yum install  ncurses-devel libc-dev glibc-devel
cd percona-data-recovery-tool-for-innodb-0.5/mysql-sorce
./configure
cd ..
make -j4
#请检查编译结果,可能会有警告,只要没有错误就行。
#准备开始恢复数据
./page_parser -5 -f ~/mysql/temp_monitor.ibd
#之后会产生一个pages-888888888的目录
#通过线上的表结构创建.h文件 
mysql/percona-data-recovery-tool-for-innodb-0.5/create_defs.pl --host localhost --user xxxx  --db YYYYY --table zzzzz >include/table_defs.h
#再次执行make
make
#恢复数据文件 ,同时 程序会帮你产生一个恢复脚本 
./constraints_parser -D -5 -f pages-1557083133/FIL_PAGE_INDEX/0-21/ > /tmp/temp_monitor.dbf
LOAD DATA INFILE '/root/mysql/percona-data-recovery-tool-for-innodb-0.5/dumps/default/temp_monitor' REPLACE INTO TABLE `temp_monitor` FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '"' LINES STARTING BY 'temp_monitor\t' (id, ambient_temperature, cpu_temperature, humidity, date);
#之后将以上文件 拷贝回生产机器,连入数据库执行以上命令即可恢复数据

经验总结

1. 在一些条件不太好情况下需要通过控制台直接操作数据库的,请先dump下吧。

2. 如果机器性能允许请打开binlog

3. 一旦有误操作,请先锁表。

4. 需要直接操作时的机器尽量不装中文输入法。

5. 小心小心再小心

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 海哥聊技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档