my2sql工具恢复误删数据

news2025/4/12 23:41:33

一、下载my2sql

my2sql下载地址https://github.com/liuhr/my2sql/blob/master/releases/centOS_release_7.x/my2sql

二、my2sql工具注意事项

1. binlog格式必须为row,且binlog_row_image=full

  • 原因binlog_row_image 参数决定了 binlog 中是否记录完整的旧值和新值。当设置为 FULL 时,binlog 会记录:

    • 旧值(Before Image):在更新或删除操作之前,记录了完整的行数据。

    • 新值(After Image):在更新或插入操作之后,记录了完整的行数据。

2. 只能回滚 DML,不能回滚 DDL

  • DML(Data Manipulation Language):数据操作语言,包括 INSERTUPDATEDELETE 等操作。这些操作涉及数据的增删改,可以通过 binlog 中的旧值和新值进行回滚。

  • DDL(Data Definition Language):数据定义语言,包括 CREATEALTERDROP 等操作。这些操作涉及表结构的变更,无法通过 binlog 直接回滚。

  • 注意事项

    • 如果需要回滚 DDL 操作,通常需要手动恢复(例如通过备份)。

    • my2sql 工具只能解析 DML 操作的 binlog,无法处理 DDL 操作。

2. 用户密码认证必须是 mysql_native_password

  • 原因my2sql 工具依赖于 MySQL 的原生认证机制(mysql_native_password)来解析用户密码。如果使用其他认证方式(如 sha256_passwordcaching_sha2_password),可能会导致连接失败。

三、delete误删除恢复

  • 模拟误操作
use ads;
delete from ads_xehz;
  • 把误操作的binlog目录复制到新目录
cd /data/mysql/binlog/
ll

# 根据写入时间大致判断这个误操作在哪个binlog日志上

mkdir /data/backup/rollback
cp /data/mysql/binlog/mysql-bin.000001 /data/backup/rollback
  • 查看误操作事务开始和结束的位点 
mysqlbinlog mysql-bin.000001 --start-datetime='2025-04-11 16:00:00' --stop-datetime='2025-04-11 17:00:00' --base64-output=decode-rows -v > test.sql

# 查看test.sql文件,查找误操作的表,找到开始位点和结束位点
  •  生成回滚SQL
cd /data/backup
mkdir test
./my2sql -user ccj -password ccj1 -host 127.0.0.1 -databases ads -tables ads_xehz -work-type rollback -start-file /data/backup/rollback/mysql-bin.000001 -start-pos 310 -stop-pos 131992 -output-dir /data/backup/test

再进入/data/backup/test

rollback.1.sql就是回滚的SQL文件

mysql -uroot -p < rollback.1.sql

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2333437.html

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

    相关文章

    【AGI-Eval行业动态】OpenAI 语音模型三连发,AI 语音进入“声优”时代

    前言&#xff1a;OpenAI又双叒叕搞事情了&#xff01;这次他们带着三款全新语音模型强势来袭&#xff0c;直接让 AI 语音界卷出新高度&#xff01;无论是语音识别的精准度、还是根据文字生成音频的脑洞&#xff0c;这三款模型都堪称“神仙打架”。 如果你还在用老掉牙的语音助手…

    蓝桥杯嵌入式十四届模拟一(eeprom)

    一.LED 先配置LED的八个引脚为GPIO_OutPut&#xff0c;锁存器PD2也是&#xff0c;然后都设置为起始高电平&#xff0c;生成代码时还要去解决引脚冲突问题 二.按键 按键配置&#xff0c;由原理图按键所对引脚要GPIO_Input 生成代码&#xff0c;在文件夹中添加code文件夹&#…

    DevOps与功能安全:Perforce ALM通过ISO 26262合规认证,简化安全关键系统开发流程

    本文来源perforce.com&#xff0c;由Perforce中国授权合作伙伴、DevSecOps解决方案提供商-龙智翻译整理。 近日&#xff0c;Perforce ALM&#xff08;原Helix ALM&#xff09;通过了国际权威认证机构 TV SD的ISO 26262功能安全流程认证&#xff01;该认证涵盖Perforce ALM解决方…

    【图片识别改名工具】如何识别图片中文字内容,并根据文字对图片批量重命名批量改名,基于WPF和腾讯OCR的完整实现

    ​​办公场景​​ ​​批量处理图片文件​​:用户有一批图片文件,图片中包含文字信息(如编号、日期、名称等),需要根据图片中的文字内容对图片进行重命名。​​自动化办公​​:在办公场景中,用户需要将图片文件按内容分类或归档,手动重命名效率低下,自动化工具可以大幅…

    Dify+DeepSeek能做出什么来?快速构建可扩展的 AI 应用

    将 Dify&#xff08;开源 LLM 应用开发平台&#xff09;与 DeepSeek&#xff08;深度求索公司的高性能大模型&#xff0c;如 DeepSeek-R1 或 DeepSeek-Lite&#xff09;结合使用&#xff0c;可以充分发挥两者的优势&#xff0c;快速构建高效、灵活且可扩展的 AI 应用。以下是具…

    【深度学习】Ubuntu 服务器配置开源项目FIGRET(PyTorch、torch-scatter、torch-sparse、Gurobi 安装)

    开源项目网址&#xff1a;https://github.com/FIGRET/figret 该项目在SIGCOMM2024发表&#xff0c;用深度学习方法处理流量工程中的突发问题 1. 创建新的 Conda 环境 使用国内镜像源创建环境​ conda create -n figret python3.8.0 --override-channels -c https://mirrors.…

    浅析Centos7安装Oracle12数据库

    Linux下的Oracle数据库实在是太难安装了&#xff0c;事贼多&#xff0c;我都怀疑能安装成功是不是运气的成分更高一些。这里虚拟机是VMware Workstation 15.5&#xff0c;操作系统是Centos7&#xff0c;Oracle版本是Oracle Database 12c Enterprise Edition Release 12.1.0.2.0…

    代码随想录算法训练营Day27 | Leetcode 56. 合并区间、738.单调递增的数字、968.监控二叉树

    代码随想录算法训练营Day27 | Leetcode 56.合并区间、738.单调递增的数字、968.监控二叉树 一、合并区间 相关题目&#xff1a;Leetcode56 文档讲解&#xff1a;Leetcode56 视频讲解&#xff1a;Leetcode56 1. Leetcode56. 合并区间 以数组 intervals 表示若干个区间的集合&am…

    ESP32S3 链接到 WiFi

    以下是关于如何让 ESP32S3 连接到 WiFi 的完整流程和代码示例&#xff1a; ESP32S3 链接到 WiFi 1. 设置工作模式 ESP32 可以工作在两种模式下&#xff1a; Station (STA) 模式&#xff1a;作为无线终端连接到无线接入点&#xff08;AP&#xff09;&#xff0c;类似于手机或…

    2024年博客之星的省域空间分布展示-以全网Top300为例

    目录 前言 一、2024博客之星 1、所有排名数据 2、空间属性管理 二、数据抓取与处理 1、相关业务表的设计 2、数据抓取处理 3、空间查询分析实践 三、数据成果挖掘 1、省域分布解读 2、技术开发活跃 四、总结 前言 2024年博客之星的评选活动已经过去了一个月&#xf…

    蓝桥赛前复习2:一维差分二维差分

    一维差分 问题描述 给定一个长度为 nn 的序列 aa。 再给定 mm 组操作&#xff0c;每次操作给定 33 个正整数 l,r,dl,r,d&#xff0c;表示对 al∼ral∼r​ 中的所有数增加 dd。 最终输出操作结束后的序列 aa。 Update&#xff1a;由于评测机过快&#xff0c;n,mn,m 于 2024…

    算法---子序列[动态规划解决](最长递增子序列)

    最长递增子序列 子序列包含子数组&#xff01; 说白了&#xff0c;要用到双层循环&#xff01; 用双层循环中的dp[i]和dp[j]把所有子序列情况考虑到位 class Solution { public:int lengthOfLIS(vector<int>& nums) {vector<int> dp(nums.size(),1);for(int i …

    100道C#高频经典面试题带解析答案——全面C#知识点总结

    100道C#高频经典面试题带解析答案 以下是100道C#高频经典面试题及其详细解析&#xff0c;涵盖基础语法、面向对象编程、集合、异步编程、LINQ等多个方面&#xff0c;旨在帮助初学者和有经验的开发者全面准备C#相关面试。 &#x1f9d1; 博主简介&#xff1a;CSDN博客专家、CSD…

    MQTT的构成、使用场景、工作原理介绍

    一、MQTT内容简介 MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种轻量级、基于发布-订阅模式的消息传输协议【适用于资源受限的设备和低带宽、高延迟或不稳定的网络环境】它在物联网应用中广受欢迎&#xff0c;能够实现传感器、执行器和其它设备之间的…

    Vanna + qwq32b 实现 text2SQL

    Vanna 是一个开源的 Text-2-SQL 框架&#xff0c;主要用于通过自然语言生成 SQL 查询&#xff0c;它基于 RAG&#xff08;Retrieval-Augmented Generation&#xff0c;检索增强生成&#xff09;技术。Vanna 的核心功能是通过训练一个模型&#xff08;基于数据库的元数据和用户提…

    电脑知识 | TCP通俗易懂详解 <一>

    目录 一、&#x1f44b;&#x1f3fb;前言 二、&#x1f68d;什么是TCP/TCP协议 三、&#x1f9cd;‍♂为什么TCP可靠 1.&#x1f970;关于可靠 2.&#x1f920;哪里可靠 3.&#x1f393;️图片的三次握手&#xff0c;四次挥手 4.&#x1f4da;️知识点总结 四、&…

    精品推荐-最新大模型MCP核心架构及最佳实践资料合集(18份).zip

    精品推荐-最新大模型MCP核心架构及最佳实践资料合集&#xff0c;共18份。 1、2025年程序员必学技能&#xff1a;大模型MCP核心技术.pdf 2、MCP 架构设计剖析&#xff1a;从 Service Mesh 演进到 Agentic Mesh.pdf 3、MCP 架构设计深度剖析&#xff1a;使用 Spring AI MCP 四步…

    Linux 线程:从零构建多线程应用:系统化解析线程API与底层设计逻辑

    线程 线程的概述 在之前&#xff0c;我们常把进程定义为 程序执行的实例&#xff0c;实际不然&#xff0c;进程实际上只是维护应用程序的各种资源&#xff0c;并不执行什么。真正执行具体任务的是线程。 那为什么之前直接执行a.out的时候&#xff0c;没有这种感受呢&#xf…

    VMware虚拟机Ubuntu磁盘扩容

    VMware中操作&#xff1a; 选择要扩容的虚拟机&#xff0c;点击编辑虚拟机设置 打开后点击磁盘——>点击扩展&#xff08;注意&#xff1a;如果想要扩容的话需要删除快照&#xff09; 调整到你想要的容量 点击上图的扩展——>确定 然后我们进到虚拟机里面 首先&#…

    游戏引擎学习第217天

    运行游戏并在 FreeVariableGroup 中遇到我们的断言 其实在美国&#xff0c;某些特定的小糖果&#xff08;例如小糖蛋&#xff09;只在圣诞节和复活节期间出售&#xff0c;导致有些人像我一样在这段时间吃得过多&#xff0c;进而增加体重。虽然这种情况每年都会发生&#xff0c…