MySQL误truncate截断后数据恢复2024.3.1

近期很多MySQL数据丢失情况,很多是人为误操作导致。MySQL数据库丢失可能由truncate截断表、delete删除表中数据行、delete删除表、delete删除库、操作系统rm删除数据库文件、硬盘坏道等情况导致。本案例是一个误截断表导致的丢失。

不管哪种情况,第一时间是停止所有操作,千万不要再往数据所在磁盘分区写入数据,包括文件复制、打包、解压、下载、安装软件等,都可能往磁盘写入大量数据,从而造成覆盖,导致数据物理上永久丢失。

停止一切可能产生数据覆盖的行为后,我们应该尽快执行专业的数据扫描和恢复方案。

第一时间运行DU_MySQL_Search_Linux扫描程序,可以提取到磁盘上所有的mysql碎片数据。将DU_MySQL_Search_Linux上传到非数据分区,注意不要放在丢数据的分区上,扫描出来的数据会产生二次覆盖,如果服务器上只有一个分区,此情况放联系我们工程师特别处理。上传工具后,执行命令如下(windows环境则是运行DU_MySQL_Search_Win):

Sudo nohup DU_MySQL_Search_Linux -s /dev/vda &

以上命令是以后台方式运行DU_MySQL_Search_Linux,扫描磁盘为/dev/vda,可根据自己实际情况调整。

扫描时会产生nohup.out文件,显示到search complated时,表示扫描完成。

如上图所示,已扫描出大量ibdfile数据碎片,以及frmfile表结构碎片,如果mysql曾经开启过binlog,还能扫描出被删除的binlog碎片,这些都可能是恢复出数据的关键,下载后发给恢复工程师即可恢复出数据。

在本案例中,我们只花费2小时,就恢复了所有的完整数据。

案例中使用的恢复工具及详细使用教程:

DU MySQL Search/Restore Win/Linux,mysql ibd frm binlog 全面支持碎片级搜索恢复工具-2021.02.25_du_mysql_search/restore win/linux 5.3-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pytest教程-13-conftest.py文件

上一小节我们学习了fixture的作用域,本小节我们学习一下pytest conftest.py文件的使用方法。 conftest.py文件的作用 conftest.py文件是pytest框架中的一个特殊文件,用于定义共享的设置、夹具(fixture)和钩子函数(hook)。 在py…

Cloud+Consul

Cloud整合Zookeeper代替Eureka-CSDN博客 Consul简介 Consul是一套开源的分布式服务发现和配置管理系统 What is Consul? | Consul | HashiCorp DeveloperConsul is a service networking solution that delivers service discovery, service mesh, and network security ca…

SQL面试题(2)

第一题 创建trade_orders表: create table `trade_orders`( `trade_id` varchar(255) NULL DEFAULT NULL, `uers_id` varchar(255), `trade_fee` int(20), `product_id` varchar(255), `time` varchar(255) )ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_…

力扣-H指数

问题 给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义:h 代表“高引用次数” ,一名科研人员的 h 指数 是指他(她&#xff09…

点燃技能火花:探索PyTorch学习网站,开启AI编程之旅!

介绍:PyTorch是一个开源的Python机器学习库,它基于Torch,专为深度学习和科学计算而设计,特别适合于自然语言处理等应用程序。以下是对PyTorch的详细介绍: 历史背景:PyTorch起源于Torch,一个用于…

YOLOv9:使用可编程梯度信息学习您想学习的内容

摘要 arxiv.org/pdf/2402.13616.pdf 当今的深度学习方法侧重于如何设计最合适的目标函数,以便模型的预测结果能最接近于实际结果。同时,还必须设计一个适当的架构,以便于获取足够的预测信息。现有的方法忽略了一个事实,即当输入数据经历层层特征提取和空间变换时,会损失…

Java基于springboot的厨艺交流平台的设计与实现代码

摘 要 使用旧方法对厨艺交流信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在厨艺交流信息的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不能及时纠正等问题。 这次开发的厨艺交流平台功…

WINDOWS内存管理 - 返回状态值

DDK大部分函数的返回值类型是NTSTATUS类型。查看DDK.h文件,可以看到 typedef LONG NTSTATUS; NTSTATUS的定义和LONG等价。为了函数的形式统一,所有函数的返回值都是NTSTATUS类型。NTSTATUS就是一个32位的整数,其每位有着不同的含义&#xf…

【分类讨论】【割点】1568. 使陆地分离的最少天数

作者推荐 动态规划的时间复杂度优化 本文涉及知识点 分类讨论 割点 LeetCode1568. 使陆地分离的最少天数 给你一个大小为 m x n ,由若干 0 和 1 组成的二维网格 grid ,其中 1 表示陆地, 0 表示水。岛屿 由水平方向或竖直方向上相邻的 1 …

wayland(xdg_wm_base) + egl + opengles 使用 Assimp 加载3D model 最简实例(十三)

文章目录 前言一、3D model 文件介绍1. 3d model 介绍1.1 如何获取3d model 文件1.2 3d model 的文件格式1.3 obj模型数据格式2. 3d 立方体 model 实例——cube.obj二、Assimp 介绍1. Assimp 简介2.ubuntu 上安装libassimp3. 使用Assimp 解析 cube.obj 文件3.1 assimp_load_cub…

舟山群岛 “垃圾不落海”的“她力量”

2月28日下午,天气阴雨绵绵,浙江省舟山市岱山县长涂岛沿港边的一间平房内,渔嫂杨淑雯、杨淑清、庄亚芬正在认真梳理从渔船上、渔港街巷捡回来的一大堆饮料瓶。 分类、装袋、打包,记者发现,这间不大的仓库内&#xff0c…

JavaScript练手小技巧:一文看懂<script>标签的 ansyc 和 defer

<script>标签的 ansyc 和 defer 属性。只对外部加载 JS 文件有效。 <script src"js/app.js" async></script> <script src"js/app.js" defer></script> 普通加载 js&#xff08;同步加载&#xff09;&#xff1a;会打断 …