从删库到还原

欢迎来到我的博客,代码的世界里,每一行都是一个故事


在这里插入图片描述

🎏:你只管努力,剩下的交给时间

🏠 :小破站

从删库到还原

    • 魔法一
    • 魔法二
    • 魔法三
    • 魔法四
      • 查看是否开启binlog,且format为row
      • 执行以下命令

重要的事情说第一遍:遇到这种事情一定要冷静,别慌,先喝口水,再找到我这篇博客

相信大家第一眼看到标题也是很诧异,但是在日常工作中总是有些大佬会无意执行这样的操作,这不我就遇到好几次了

正常情况我们是没有资格执行这个删库的命令的,最多你可以执行的是delete table,update table set

大家也肯定注意到了,这两条语句都很危险,因为没有条件。噩梦可能就是从你点击的那一刻开始,比如我这样的操作。

image-20240524142640003

因为没有条件,导致整个表的数据都被改变了,当时真想哭爹喊娘。接下来我们进行一些骚操作让你复原表

重要的事情说第二遍:遇到这种事情一定要冷静,别慌,先喝口水,再找到我这篇博客

魔法一

如果你在Navicat上操作的,并且你操作的表是之前打开的,而且数据只有不到1000条(Navicat的默认分页数),那么恭喜你,这个魔法适合你。

  1. 回到这个表中,你可以发现数据没变,此时千万别抱着好奇的态度,为什么没变呢,去点击刷新,一点击就完犊子了。

  2. 将所有数据复制为insert语句,以及update语句(双重保险),然后你可以刷新看一下,发现数据就变为你误操作的数据了,此时你将复制好的insert以及update,执行一下(如果你执行的是delete,就用insert,如果是update就用update)

    image-20240524144552367

可以看下数据压根没进行更新,美滋滋。

魔法二

如果魔法一没帮到你,我们来看下魔法二。正常情况下公司是每天会备份数据库的,所以第二种方法就是恢复备份数据了。

  1. 找到备份的sql文件
  2. 不管是备份的整个库,还是单个表,都不建议在刚刚操作的数据库或者表上操作
  3. 执行以下命令(如果你是多实例,建议换一个实例进行sql执行,如果是单实例,建议换一个库进行操作)
mysql -u'root' -p'123456' -S /home/mysql/3306/tmp/mysql_3306.sock test -e "source /home/backup/2024-05-24-01-00-02/test.sql"
  1. 备份原数据,再执行数据传输

魔法三

延迟主从,这个我认为在实际工作中非常有必要的,如果一些误操作,靠这个是完全可以恢复的,至于延迟的时间就需要仔细斟酌了,几分钟到几小时都可行。当然这个也没必要说太多,比如3306上的xiaobo库中的user表被删了,但是我有3307这个从库,延迟时间是10分钟,那么我直接就可以从3307中的xiaobo.user拷贝到3306的xiaobo.user中。

魔法四

这个魔法的前提是mysql开启了binlog,且为row。

查看是否开启binlog,且format为row

要查看 MySQL 是否已启用二进制日志(binlog)且格式为 ROW,可以使用 MySQL 命令行客户端连接到 MySQL 数据库,并执行以下命令:

SHOW VARIABLES LIKE 'log_bin';

这会显示 MySQL 是否已启用二进制日志,如果结果为 ON,则表示已启用二进制日志;如果为 OFF,则表示未启用。如果启用了二进制日志,可以继续检查日志格式:

SHOW VARIABLES LIKE 'binlog_format';

如果结果为 ROW,则表示二进制日志格式为 ROW。如果结果为 STATEMENTMIXED,则表示二进制日志格式为 STATEMENTMIXED

执行以下命令

mysqlbinlog --start-datetime="2024-05-24 09:52:00" --base64-output=decode-rows -vv mysql_binlog.000004

image-20240527122035096

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

公交行业系统特点及面临的挑战

在当前城市发展中,公交行业作为公共交通的重要组成部分,承担着重要的社会责任。随着科技的进步和城市化进程的加快,公交行业系统也在不断地发展和完善。然而,从目前的发展情况来看,公交行业系统也呈现出一些显著的特点…

pandas将dataframe展开/拉伸成一个series

pandas提供了一个函数实现这个操作: dataframe.stack()示例程序: import pandas as pd import numpy as npdf pd.DataFrame(np.random.randint(0, 10, size(2, 4)), columns[col_1, "col_2", "col_3", "col_4"]) # 展…

【全资料】软件建设过程全资料整理(原件打包)

获取方式:本文末个人名片获取。 工作安排任务书,可行性分析报告,立项申请审批表,产品需求规格说明书,需求调研计划,用户需求调查单,用户需求说明书,概要设计说明书, 技术…

职业技能大赛引领下大数据专业实训教学的改革研究

随着信息化时代的加速发展,大数据专业作为新兴的热门领域,正日益成为高等职业教育体系中不可或缺的一部分,其承担着为社会培养大批具有高素质应用技能的大数据技术人才的重任。职业技能大赛作为检验和提升学生技能水平的有效平台,…

别再盲目生产了!精益KPI管理让你事半功倍!

在竞争日益激烈的制造业领域,如何提升生产效率、降低成本、确保产品质量,是每个企业都需要面对的重要课题。而研华科技作为工业自动化领域的领军企业,凭借其独特的精益生产KPI分析与管理平台,为企业提供了一套行之有效的解决方案。…

高考志愿填报:选择好专业还是好学校?

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 高考志愿填报:选择好专业还是好学校? 每年高考结束后,考生和家长面临的一个…

网络设备框架

文章目录 前言一、主要流程二、Linux网络设备驱动架构1.概述2.读入数据 总结 前言 Linux中的Ethernet驱动框架涉及到网络设备驱动程序的多个方面,包括初始化、注册、数据传输以及与物理层(PHY)的交互。以下是网络设备驱动架构的概述&#xf…

Spring Boot配置Springdoc

刚刚开通了一个公众号,会分享一些技术博客和自己觉得比较好的项目,同时会更新一些自己使用的工具和图书资料,后面会整理一些面试资料进行分享,觉得有兴趣的可以关注一下。 问题描述 之前文章有提到Spring Boot切换到Springdoc&a…

LeetCode刷题之HOT100之乘积最大子数组

2024/6/25 六月也来到了末尾,刷题也刷了一个半月左右。收获还是有的,最起码打字快了哈哈,做题啦! 1、题目描述 2、逻辑分析 一眼动态规划。 解题思路 遍历数组时计算当前最大值,不断更新令nowMax 为当前最大值&…

【azure openaiai翻译】翻译功能测试及对比(定价,响应速度,响应限制,翻译质量)

最近在测试翻译质量,用到了azure ai service里的文本翻译(简称ai翻译)和azure openai 。 告一段落,辅以笔记。这两种将分别从定价,响应速度,响应限制,翻译质量进行讲解。 1.azure openai 对于内…

EthernetIP IO从站设备数据 转opc ua项目案例

1 案例说明 设置网关采集EthernetIP IO设备数据把采集的数据转成opc ua协议转发给其他系统。 2 VFBOX网关工作原理 VFBOX网关是协议转换网关,是把一种协议转换成另外一种协议。网关可以采集西门子,欧姆龙,三菱,AB PLC&#xff0…

2005年下半年软件设计师【上午题】试题及答案

文章目录 2005年下半年软件设计师上午题--试题2005年下半年软件设计师上午题--答案 2005年下半年软件设计师上午题–试题 2005年下半年软件设计师上午题–答案

ModbusRTU协议报文解析

ModbusRTU协议报文解析 报文格式: 设备地址/从站地址: 1个字节 指定目标设备地址(从站地址) 功能码:1个字节 功能码在modbus协议用于表示信息帧的功能,例如读取线圈状态、读取寄存器等。 数据&#xff…

C语言数据结构-分析期末选择题考点(一)

昔我往矣,杨柳依依 今我来思,雨雪霏霏 契子✨ 有道是:得选择题者得天下。临近考试,便总结一下数据结构选择题的常考题型吧,以及预测一下考点,一来是为了备考,二来可以水文。祝各位老铁 “挂柯南…

韩顺平0基础学java——第30天

p600-611 坦克大战! 艰难推进中 坦克大战-子弹 发射子弹 1.当发射一颗子弹后,就相当于启动一个线程 2.玩家拥有子弹对象,当按下J时,就启动发射行为(线程),让子弹不停移动,形成…

(上位机APP开发)调用华为云命令API接口给设备下发命令

一、功能说明 通过调用华为云IOT提供的命令下发API接口,实现下面界面上相同的功能。调用API接口给设备下发命令。 二、JavaScript代码 function sendUnlockCommand() {var requestUrl = "https://9bcf4cfd30.st1.iotda-app.cn-north-4.myhuaweicloud.com:443/v5/iot/60…

全国首场以AI数字内容风控为主题的大会正式官宣,首批演讲嘉宾和议题揭晓!

曾经我们感叹的“AI迎来了iPhone时刻”,如今已变成“iPhone迎来了AI时刻”。前段时间,苹果全球开发者大会的召开,以及闻声而起的资本市场,无一不再次佐证了AI的无穷想象。 从OpenAI直播演示GPT-4o和谷歌的I/O开发者大会2024&…

空调制冷剂泄漏引发健康隐患,冷媒传感器实时监测至关重要

随着夏季的脚步逐渐临近,气温逐渐攀升,空调成为了许多家庭和企业必不可少的降温设备。然而,近年来多起因空调制冷剂泄漏导致的健康问题和安全事故,让人们开始重新审视空调使用安全的重要性。其中,冷媒传感器的实时监测…

智能AI在线人工智能对话源码系统 完整的代安装码+搭建部署教程

系统概述 智能 AI 在线人工智能对话源码系统是一款前沿的技术解决方案,它融合了人工智能的强大能力,为用户提供了一个高效、智能的对话平台。该系统基于先进的算法和模型,能够理解用户的输入,并以高度准确和自然的方式进行回应。…

深度测试中的隐藏面消除技术

by STANCH 标签:#计算机图形学 #深度测试 #深度测试 #隐藏面消除 1.概述 根据我们的日常经验,近处的物体会挡住后面的物体,在三维场景中通常通过深度缓冲来实现这样的效果。深度缓冲记录着屏幕对应的每个像素的深度值。模型一开始所在的局部…