MySQL数据误删除恢复

1.1 问题简述

开发反馈误删除了部分业务数据,需要恢复数据。
这里采用binlog2sql工具进行数据回滚。
1.2 环境
CentOS Linux release 7.4.1708 (Core)
mysql Ver 8.0.21 for Linux on x86_64 (MySQL Community Server - GPL)
1.3 数据库开启binlog
因为数据库server端服务器没有root权限,为了方便安装, 所以在网络打通且有root权限的测试服务器上安装工具恢复数据。

下载及安装

2.1 安装包下载
由于环境无法连接互联网,所有采用下载安装包的方式进行安装。
1)下载Python-3.8.2
https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tar.xz
2)下载Binlog2sql
https://codeload.github.com/danfengcao/binlog2sql/zip/master

3)下载PyMySQL-0.9.3
https://codeload.github.com/PyMySQL/PyMySQL/tar.gz/v0.9.3

4)下载mysql-replication-0.21
https://files.pythonhosted.org/packages/e3/54/8c496e300d610299bf168e2068dc10a64b66b299cbe596a27aac5d5b3e7b/mysql-replication-0.21.tar.gz

在这里插入图片描述
2.2 pip安装
#yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc libffi-devel
#tar -xvf Python-3.8.2.tar.xz
#cd Python-3.8.2
./configure --prefix=/usr --with-ensurepip --with-system-ffi
make && make install
root@localhost.localdomain:[/root/soft]python3 --version
Python 3.8.2
root@localhost.localdomain:[/root/soft]pip3 --version
pip 19.2.3 from /usr/lib/python3.8/site-packages/pip (python 3.8)

2.3 PyMySQL&mysql-replication安装
#pip3 install PyMySQL-0.9.3.tar.gz
#pip3 install mysql-replication-0.21.tar.gz
root@localhost.localdomain:[/root/soft]pip3 list
Package Version


mysql-replication 0.21
pip 19.2.3
PyMySQL 0.9.3
setuptools 41.2.0
2.4 解压binlog2sql
#unzip binlog2sql-master.zip
#mv binlog2sql-master/binlog2sql ./
常用参数:
可选参数
–stop-never
-K, --no-primary-key
-B, --flashback
–back-interval
连接参数
-h -u -p -P
日志过滤参数
–start-file --stop-file --start-position --stop-position --start-datetime --stop-datetime
对象过滤参数
-d DATABASES2 DATABASES2 -t TABLE1 TABLE2
类型过滤参数
–only-dml --sql-type INSERT UPDATE DELETE

数据恢复

同开发确认误操作的时间以及表名。根据binlog的时间确定采用哪个binlog进行数据恢复。

执行命令:可以查看恢复前执行的SQL。
python binlog2sql/binlog2sql.py -utestuser -pxxx-dtestdb -t test --start-file=‘mysql-bin.000013’ --start-datetime=‘2022-
03-01 14:30:00’ --stop-datetime=‘2022-03-01 15:30:00’ --only-dml –sql-type= DELETE >delete.txt

执行命令:生成回滚SQL。
python binlog2sql/binlog2sql.py -B -utestuser -pxxx-dtestdb -t test --start-file=‘mysql-bin.000013’ --start-
datetime=‘2022-03-01 14:30:00’ --stop-datetime=‘2022-03-01 15:30:00’ --onl
最终执行回滚SQL重新插入数据即成功恢复数据。
mysql>source insert.txt

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

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

相关文章

Full-RNS BGV/BFV

参考文献: [BV11] Brakerski Z, Vaikuntanathan V. Fully homomorphic encryption from ring-LWE and security for key dependent messages[C]//Annual cryptology conference. Berlin, Heidelberg: Springer Berlin Heidelberg, 2011: 505-524.[GHS12] Gentry C,…

QThread之moveToThread用法

简介 使用moveToThread函数的流程如下: 1、创建一个类继承自QObject类或其子类,并在其中定义所要执行的多个任务,执行多个任务就要定义相应的信号。 2、任务通过moveToThread指定所要执行的线程。 3、线程通过start启动 4、通过信号与槽机制…

Linux基础命令(测试相关)

软件测试相关linux基础命令笔记 操作系统 常见Linux: Redhat系列:RHSL、Centos、FedoraDebian系列:Debian、Ubuntu以上操作系统都是在原生Linux系统上,增加了一些软件或功能。linux的文件及路径特点 Linux没有盘符的概念&#xf…

11.12每日一题(根式差型求极限:有理化、拉格朗日中值定理)

解决同一极限在两点函数值差时,拉格朗日中值定理常用,也非常有效!

如何做好仓库管理工作?好的仓库管理的流程是什么?

本文将为大家讲解:如何做好仓库管理工作?好的仓库管理的流程是什么? ——“怎么样才能做好仓库管理工作?” ——“建议软硬兼施!” “软”即仓库管理系统,“硬”即仓库管理制度。系统和制度不是孤立存在…

京东数据分析:2023年10月京东打印机行业品牌销售排行榜

鲸参谋监测的京东平台10月份打印机市场销售数据已出炉! 10月份,打印机市场整体销售下滑。鲸参谋数据显示,今年10月份,京东平台打印机的销量将近60万,环比降低约2%,同比降低约5%;销售额为4.4亿&a…

mapbox实现框选要素

成果图 参考博客 https://blog.csdn.net/ScapeD/article/details/89158755 原理与源码 利用mapbox的queryRenderedFeatures方法可以获取范围内的要素,但是这个只能是点和矩形和范围内的全屏要素,并不支持多边形,所以实现这个的思路就是画完框…

C/S医学检验LIS信息管理系统源码 检验科LIS系统源码

LIS系统又称实验室信息管理系统是专门为医院检验科而设计的一套实验室信息管理系统。 LIS通过将所有仪器自身提供的端口与科室LIS系统中的工作站点连接,通过LIS实现与医院HIS系统的联网。是一套符合医院检验科实际需要的管理系统,实现检验业务全流程的计…

全国停车位收费标准接口API

1) 请求地址 接口地址https://psbg.jparking.cn/cw-gateway/cwzg/v1/near_park 2) 调用方式:HTTP post 3) 接口描述: 数据来源捷停车 不可用于商用 概不负责 4) 请求参数: {"latitude": "29.563009", //坐标"longitude&quo…

Linux 进程优先级

什么是进程的优先级 优先级:对资源的访问顺序!注意优先级与权限的区别,优先级决定的是访问资源的顺序,这意味着无论是谁都可以访问到资源;但是如果你没有权限,你是不能访问资源的! 这个应该比较…

网络运维与网络安全 学习笔记2023.12.5

网络运维与网络安全 学习笔记 第三十五天 今日目标 su用户切换、sudo命令提权、部署动态Web应用 数据库安全加固、Web安全加固 网络监控基础、配置zabbix主控机、配置zabbix被控机 管理监控项、监控结果分析 su用户切换 su机制介绍及用法 Linux安全基线 指的是使Linux各项…

哈希表【1】

文章目录 🤔0.哈希表🌼1. 两数之和🌻1. 题目🌷2. 算法原理🌺3. 代码实现 🍈面试题 01.02. 判定是否互为字符重排🍌1. 题目🍏2. 算法原理🍓3. 代码实现 🤔0.哈…

2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-C卷

2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-C卷 2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-C卷A模块基础设施设置/安全加固(200分)A 模块基础设施设置/安全加固(200 分&am…

一个跨平台、跨空间支持多用户的远程云备份系统

多可云备份系统用于将一台服务器上的数据,高速备份到另一台或多台服务器上。无论这些服务器都在同一个局域网内,还是都在云服务器上,或者是分别在局域网内和云服务器上,使用多可云备份系统,都能够高速、高效、精确地完…

AntV和AntD之间的区别与联系

前言:最近在调研前端的一些框架,技术栈主要是用react,所以找到了2个十分相似解决方案,拿来对比一下(antd和antv都是基于react) antd对比antv antd antv 解决方案企业级 UI 设计语言数据可视化解决方案提供…

每日一练 | 华为认证真题练习Day142

1、路由器的主要功能,以下说法错误的是?(多选) A. 通过多种协议建立路由表 B. 根据路由表指导数据转发 C. 根据收到数据包的源IP地址进行转发 D. 实现相同网段设备之间相互通信 2、管理员发现无法通过TFTP传输文件到华为AR200…

【设计模式】策略模式设计-电影票打折功能

任务二:使用策略模式设计电影票打折功能 某电影院售标系统为不同类型的用户提供了不同的打折方式(Discount),学生凭学生证可享受8折优惠**(StudentDiscount),儿童可享受减免10元的优惠&#xf…

使用gunicorn部署django项目时,发现静态文件加载失败问题

本文主要介绍如何配置Niginx加载Django的静态资源文件,也就是Static 1、首先需要将Django项目中的Settings.py 文件中的两个参数做以下设置: STATIC_URL /static/ STATIC_ROOT os.path.join(BASE_DIR, static) 2、将 STATICFILES_DIRS [ os.p…

开关电源有哪些EMI整改?|深圳比创达电子EMC

某控制产品在进行辐射发射测试时,发现测试结果超标,辐射发射测试结果如下图所示: 控制产品在去掉发射源之前,就在各外部端口采取了各种滤波措施,结果并无明显作用,即使把所有相关外部引线全部拿走(只剩下电…

js 防抖函数、节流函数

/** 节流函数 */ export function throttle(func, wait 100) {let isDoing falsereturn function (...rest) {if (isDoing) returnisDoing truesetTimeout(() > {func(...rest)isDoing false}, wait)} }/** 防抖函数 */ export function debounce(func, wait 100) {let…