MySQL中通过binlog恢复数据
AI-摘要
Tianli GPT
AI初始化中...
介绍自己
生成本文简介
推荐相关文章
前往主页
前往tianli博客
MySQL 中 binlog方式数据恢复操作模拟
binlog方式
整体流程
若是生产出现,完整流程大致如下:

操作记录仅用于学习
记录中仅含一些关键部分,诸如:根据binlog生成二进制sql文件、执行生成的二进制文件恢复数据等操作
操作过程相较于上述整体流程做了对应的简化
操作过程:
-
数据被误删啦

可以看到mysql客户端的执行日志时间:

同时通过对应的 sql 也看到了这条删除操作

-
找到binlog日志存储目录:
未做其他配置,日志在binlog默认目录下(/var/lib/mysql/)

-
根据日志执行时间,取出对应的binlog
正常数据恢复应该是整个表进行恢复,在binlog日志中找到当前表最开始的操作时间节点作为开始节点
根据表最开始时间节点为基础为开始时间;误删操作为结束时间
使用 mysqlbinlog 命令生成一个 表操作记录二进制sql文件
执行二进制文件完成对应表数据到截止时间时的表内数据状态
此处简化了筛选过程,直接将这条数据insert的时间节点取出作为时间段

mysqlbinlog --start-datetime="2024-08-30 10:39:00" --stop-datetime="2024-08-30 15:10:20" /var/lib/mysql/mysql-binlog.000003 > output.sql
可以看到,我们的日志二进制文件已经取出来了
-
执行恢复


本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 iAuzre
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果
音乐天地