binlog找回误删数据
1、检查当前是否开启binlog存储
输入命令show variables like '%log_bin%';,结果如下

可以看到log_bin的值是ON,说明binlog开启了。
2、查找binlog的存储位置
这个去到数据库的my.cnf配置文件中寻找,有一个log_bin的配置

切换到log_bin的目录下,可以发现有多个binlog日志文件和一个索引文件,这个索引文件记录了binlog日志文件的顺序,每次重启mysql都会生成一个新的binlog日志文件,编号依次递增

3、查看binlog文件
在mysql的bin目录下,有一个binlog日志分析工具mysqlbinlog,在当前目录下,输入下面命令可以查看对应的binlog日志信息
查询某时间段内tacs_log库的操作日志,写到txt文件中
./mysqlbinlog --no-defaults --database=tacs_log --start-datetime="2023-03-03 14:00:00" --stop-datetime="2023-03-03 14:45:00" /app/logs/mysql/mysql-binlog.000056 > temporary.txt
将操作日志输出到屏幕上
./mysqlbinlog --no-defaults --database=tacs_log --start-datetime="2023-03-03 14:00:00" --stop-datetime="2023-03-03 14:45:00" /app/logs/mysql/mysql-binlog.000056 |more
查询某个具体表的日志输出到文件
./mysqlbinlog --no-defaults --database=tacs_log --start-datetime="2023-03-03 14:00:00" --stop-datetime="2023-03-03 14:45:00" /app/logs/mysql/mysql-binlog.000056 |grep auth_service_log_20230206 >1.txt

在查看日志时,发现了一个日志文件好像是乱码,实际上这是经过了base64编码之后的结果,所以,在操作命令上加上解码即可,命令如下
./mysqlbinlog --no-defaults --database=tacs_log --start-datetime="2023-03-03 14:00:00" --stop-datetime="2023-03-03 14:45:00" -vv --base64-output=decode-rows /app/logs/mysql/mysql-binlog.000056 > temporary.txt

可以看到,对应的操作sql已经展示出来,上面是我测试了删除数据,可以看到表、数据都打印出来,根据这些可以进行数据恢复。
4、补充
命令参数解析:
--start-position=103 起始位置
--stop-position=203 结束位置
--start-datetime 起始时间点
--stop-datetime 结束时间点
相关文章:
binlog找回误删数据
1、检查当前是否开启binlog存储 输入命令show variables like %log_bin%;,结果如下 可以看到log_bin的值是ON,说明binlog开启了。 2、查找binlog的存储位置 这个去到数据库的my.cnf配置文件中寻找,有一个log_bin的配置 切换到log_bin的目…...
《程序员面试金典(第6版)》面试题 02.03. 删除中间节点
题目描述 若链表中的某个节点,既不是链表头节点,也不是链表尾节点,则称其为该链表的「中间节点」。 假定已知链表的某一个中间节点,请实现一种算法,将该节点从链表中删除。 例如: 传入节点 c(…...
Spring Boot
目录 SpringBoot SpringBoot创建和使用 什么是Spring Boot Spring Boot优点 Spring Boot项目的创建 项目目录介绍和运行 目录介绍 项目运行 SpringBoot核心设计思想 SpringBoot的配置文件 配置文件的作用 配置文件的格式 注意事项 properties配置文件 propertie…...
图论初入门
目录 一、前言 二、图的概念 三、例题及相关概念 1、全球变暖(2018年省赛,lanqiao0J题号178) 2、欧拉路径 3、小例题 4、例题(洛谷P7771) 一、前言 本文主要讲了树与图的基本概念,图的存储、DFS遍历…...
02-Oracle数据库的启动与关闭
本文章主要讲解Oracle数据库的启动与关闭方法,详细讲解启动Oracle的命令,三种启动数据库的方法及区别;关闭数据库的4种方法及他们的区别。 启动和关闭数据库 •数据库没启动前,只有拥有DBA权限或者以sysoper或sysdba身份才能连接到…...
网络营销培训完能达到什么水平?学完能创业吗?
网络营销本身就是一门创业的技术,很多人学习网络营销,往往担心学完以后技术达不到,再工作几年才可以创业,实际这是错误的理解,那么,网络营销培训完能达到什么水平?新手学员参加网络营销培训&…...
大数据技术之——zeppelin数据清洗
一、zeppelin的安装zeppelin解压后进入到conf配置文件界面。修改zeppelin-site.xml[roothadoop02 conf]# cp zeppelin-site.xml.template zeppelin-site.xml[roothadoop02 conf]# vim zeppelin-site.xml将IP地址和端口号设置成自己的修改 zeppelin-env.shexport JAVA HOME/opt/…...
Barra模型因子的构建及应用系列五之NonLinear Size因子
一、摘要 在前期的Barra模型系列文章中,我们构建了Size因子、Beta因子、Momentum因子和Residual Volatility因子,并分别创建了对应的单因子策略,本节文章在该系列下进一步构建NonLinear Size因子。从回测结果看,自2022年以来&…...
C++ 常用命令行开发工具(Linux)
文章目录1、简介2、gcc / g2.1 system(执行shell 命令)2.2 popen(建立管道I/O)2.3 vforkexec(新建子进程)3、clang3.1 下载和安装clang3.2 clang和gcc比较3.2.1 gcc3.2.2 clang3.2.3 LLVM4、make4.1 例子14…...
java基础学习 day47(抽象类,抽象方法)
1. 抽象方法 将共性的行为(方法)抽取到父类之后,由于每一个子类执行的内容是不一样的,所以,在父类中不能确定具体的方法体,该方法就可以定义为抽象方法。抽象方法定义格式: public abstract 返…...
Java代码弱点与修复之——Open redirect(开放重定向)
弱点描述 Open redirect , 开放重定向,是一种常见的安全漏洞,也被称为“重定向漏洞”。该漏洞通常出现在 Web 应用程序中,攻击者可以利用它将用户重定向到恶意站点,从而进行钓鱼攻击、恶意软件传播、诱骗等活动。 在 Java 中,通过重定向 HTTP 请求来实现应用程序中的跳转…...
Go 指针
指针在编程中,一个内存地址用来定位一段内存。通常地,一个内存地址用一个操作系统原生字(native word)来存储。 一个原生字在32位操作系统上占4个字节,在64位操作系统上占8个字节。 所以,32位操作系统上的理…...
shardingsphere5.1.1分表分库yaml配置 自定义策略
前言通过阅读官方稳定给出示例 https://shardingsphere.apache.org/document一、基本配置示例spring:sharding:datasource:names: ds0, ds1ds0:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/db0username: rootpassword: rootds1:driver-class-na…...
“探索未来:VR全景直播技术引领新媒体时代”
随着虚拟现实技术的不断发展,VR全景直播已经成为了越来越受欢迎的直播形式。VR全景直播可以让观众通过虚拟现实设备亲临直播现场,享受身临其境的观看体验。VR全景直播是什么? VR全景直播是虚拟现实技术和直播的结合。相对于传统直播ÿ…...
Spring Cloud(微服务)学习篇(六)
Spring Cloud(微服务)学习篇(六) 2 Sentinel实现流量规则(控制台版) 2.1 变更pom.xml(shop-user-server项目)代码 2.1.1 加入如下依赖 <!--熔断限流--> <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-…...
MATLAB-Scatter3-三维散点图投影至XYZ三个平面
MATLAB-Scatter3函数可以绘制立体的三维散点图,但有时候需要在该立体图中分析X-Y-Z三者的关系,即1副图呈现出4个信息,XYZ综合信息、XY信息、XZ信息、YZ信息。现有的Scatter3无法实现该功能,本文可实现Scatter3三维立体散点图在三个…...
Unity/C#------委托与事件(一篇文章彻底搞懂...)
一:委托 所有的代码语言创造者母语都是英语,我们从英语翻译到中文的过程中难免会存在一些不太能还原本意的词,比如我之前一直不理解构造函数和析构函数,只知道这俩货作用相反,直到我看到了它的英文意思,Con…...
别再为 Jenkins 安装烦恼,Docker 帮你轻松解决
前言 大家好,又见面了,我是沐风晓月,本文收录与云原生相关的专栏,以下是我的简介: 🏠个人主页:我是沐风晓月 🧑个人简介:大家好,我是沐风晓月,双…...
汇编语言程序设计(一)
前言 在学习汇编语言之前,我们应该要知道汇编语言他是一门怎么样的语言。汇编语言是直接工作在硬件上的一门编程语言,学习汇编语言之前最好先了解一下计算机硬件系统的结构和工作原理。学习汇编语言的重点是学习如何利用硬件系统的编程结构和指令集进而…...
【uni-app教程】四、UniAPP 路由配置及页面跳转
四、UniAPP 路由配置及页面跳转 (1) 路由配置 uni-app页面路由为框架统一管理,开发者需要在pages.json里配置每个路由页面的路径及页面样式。类似小程序在 app.json 中配置页面路由一样。所以 uni-app 的路由用法与 Vue Router 不同,如仍希望采用 Vue …...
深入解析Shim在跨版本API兼容中的实战应用
1. 什么是Shim技术 第一次听到"Shim"这个词是在调试一个Flink连接Hive的项目时。当时Hive版本从2.3升级到3.1,本以为要重写大量代码,结果同事说"加个Shim就行了"。这种"神奇胶水"般的技术让我印象深刻。 Shim本质上是一种…...
ROS Noetic下大陆ARS408雷达点云数据解析:从CAN原始帧到RVIZ可视化,一个脚本全搞定
ROS Noetic下大陆ARS408雷达点云数据全链路解析与自动化实践 毫米波雷达在自动驾驶、机器人导航等领域扮演着关键角色。大陆ARS408作为一款高性价比的毫米波雷达,其点云数据的获取与可视化是许多开发者需要掌握的核心技能。本文将带您从底层CAN总线通信开始…...
离散数学实战:用Python解决图论问题(附完整代码示例)
离散数学实战:用Python解决图论问题(附完整代码示例) 当你在社交软件上查看"可能认识的人"推荐,或是用导航软件规划最短路线时,背后都在运行图论算法。作为离散数学中最具工程价值的领域,图论将现…...
Python实战:用LangGraph和MCP打造你的第一个AI代理(附完整代码)
Python实战:用LangGraph和MCP构建智能代理的完整指南 在当今快速发展的AI领域,构建能够理解和执行复杂任务的智能代理已成为开发者关注的焦点。本文将带您深入了解如何利用LangGraph框架和模型上下文协议(MCP)构建一个功能完备的AI代理,从基础…...
交易数据一致性保障:大数据环境下的挑战
交易数据一致性保障:大数据环境下的挑战 1. 引入与连接:数字世界的"货币守卫" 想象一下:当你在电商平台下单支付后,银行显示扣款成功,但商家却显示支付失败;或者在股票交易中,你看到的股价与实际成交价格存在差异。这些看似微小的数据不一致,可能导致企业声…...
【CPython内存管理白皮书级解析】:从PyObject到ob_refcnt,看懂泄漏发生的底层5层机制
第一章:CPython内存管理的底层基石与泄漏本质CPython 的内存管理并非依赖操作系统级 malloc/free 的直接映射,而是构建在三层抽象之上的精密系统:最底层为系统内存分配器(如 mmap 或 malloc),中间层为 CPyt…...
当欧姆龙NX1P2遇上丰田PC10G:一次EIP实例ID通信的“踩坑”与“填坑”实录
当欧姆龙NX1P2遇上丰田PC10G:EIP实例ID通信的实战解析 在工业自动化领域,不同品牌设备间的通信集成往往充满挑战。最近一次非标设备联调项目中,我们遇到了欧姆龙NX1P2控制器与丰田PC10G设备通过EtherNet/IP(EIP)协议通…...
OpenClaw安全加固指南:nanobot镜像的防火墙与权限配置
OpenClaw安全加固指南:nanobot镜像的防火墙与权限配置 1. 为什么需要安全加固? 当我第一次在本地部署OpenClaw时,最让我忐忑不安的就是安全问题。这个能操控我鼠标键盘、读写文件的AI助手,会不会不小心删掉我的重要文档…...
FLUX.1-dev LoRA微调指南:基于像素幻梦输出数据集训练专属风格
FLUX.1-dev LoRA微调指南:基于像素幻梦输出数据集训练专属风格 1. 前言:为什么需要LoRA微调 在像素艺术创作领域,每个艺术家都渴望拥有独特的视觉风格。FLUX.1-dev作为当前最先进的扩散模型,配合像素幻梦(Pixel Dream Workshop)…...
Vue 3 Fragments:打破枷锁的组件化革命
Vue 3 Fragments:打破枷锁的组件化革命 在前端框架的演进史上,每一次对底层限制的突破,往往都伴随着开发体验的质的飞跃。Vue 3 中引入的 Fragments(片段) 特性,正是这样一场迟来的“解绑”革命。它彻底粉碎…...
