mysql误删除恢复
误删除数据库操作
模拟操作
数据库每天进行一次数据库备份,binglog每天生成一个新文件,三天钱创建了一个数据库,今天删除了其中的一张表,现要求恢复数据
第一步:
show binary logs; #获取binlog文件列表
show master status; #查看当前正在写入的binlog文件 记录当前删除之后的pos点
flush logs; #刷新 binlog 重新生成binlog文件
第二步:
将执行删除操作的数据库备份 以备不时之需
第三步:
将昨天的备份恢复到现存数据库
第四部查看当天的binlog
mysqlbinlog --no-defaults /var/lib/mysql/mysql-bin.000008
#其中包含今天新增数据和删除数据的命令
/*!80011 SET @@session.default_collation_for_utf8mb4=255*//*!*/;
BEGIN
/*!*/;
# at 309
#211011 18:56:33 server id 1 end_log_pos 369 CRC32 0xd6ad0ce6 Table_map: `zbb`.`t` mapped to number 120
# at 369
#211011 18:56:33 server id 1 end_log_pos 429 CRC32 0x7a99aafc Write_rows: table id 120 flags: STMT_END_F
BINLOG '
/*!*/;
# at 613
#211011 18:56:46 server id 1 end_log_pos 673 CRC32 0x6da63852 Table_map: `zbb`.`t` mapped to number 120
# at 673
#211011 18:56:46 server id 1 end_log_pos 733 CRC32 0x5e9ab277 Delete_rows: table id 120 flags: STMT_END_F
mysqlbinlog --no-defaults --stop-datetime="2021-10-11 18:56:39" /var/lib/mysql/mysql-bin.000009 -d zbb|mysql -uroot -p123456 -f
企业实战
昨天删除了2张表 现要求恢复到未删除的状态
恢复昨天的数据
从昨天的备份sql中取出那两张表结构和数据
注mysqldump导出的都是insert语句
grep -i 'INSERT INTO `www`' all109.sql >> wcmmle.sql
mysqldump -uroot -p"123" -d zbb www >www.sql
#-d 是导出表结构
#-t 是导出表数据
导出binglog增量数据
mysqlbinlog --no-defaults --start-datetime="2021-08-01 00:00:00" mysql-bin.000361 |egrep "表1|表2" >2.sql &
mysqlbinlog --no-defaults mysql-bin.000362 |egrep "表1|表2" >>2.sql &
mysqlbinlog --no-defaults mysql-bin.000363 |egrep "表1|表2" >>2.sql &
mysqlbinlog --no-defaults mysql-bin.000364 |egrep "表1|表2" >>2.sql &
mysqlbinlog --no-defaults --stop-datetime="2021-08-01 00:00:00" mysql-bin.000365 |egrep "表1|表2" >>2.sql &
sed -i "s#\#Q> ##g" 2.sql
重定义文件格式
# -*- coding: utf-8 -*-
with open("./2.sql") as f:
with open("./3.sql", "w") as f2:
for i in f:
f2.write(str(i.strip()) + ";" + "\n")
在测试库中操作
恢复表结构
恢复数据
create zbb;
mysql -uroot -p"123" zbb </www.sql
mysql -uroot -p"123" zbb <wcmmle.sql
恢复增量数据
mysql -uroot -p"123" zbb <3.sql
热爱技术,享受生活,感谢推荐!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?