mysql数据恢复

使用MySQL第三方工具binlog2sql

binlog2sql,一款基于python开发的开源工具,是由大众点评团队的DBA使用python开发出来的,从MySQL
binlog解析出你要的SQL。根据不同选项,你可以得到原始SQL、回滚SQL、去除主键的INSERT SQL等。其功能有:

 数据快速回滚(闪回)主从切换后新master丢失数据的恢复从binlog生成标准SQL,带来的衍生功能

一、安装python
1、安装python3环境(Linux本省自带python2环境)
安装依赖:

yum install -y gcc gcc-c++ zlib zlib-devel libffi-devel openssl openssl-devel pcre pcre-devel yum-utils vim wget tree htop sqlite-devel

在这里插入图片描述
2、解压配置Python-3.6.5.tgz
安装
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz

tar -zxf  Python-3.6.5.tgz

配置安装参数

./configure --prefix=/usr/local/Python-3.6.5

在这里插入图片描述
编译安装

 make && make install

在这里插入图片描述
3、添加软链接,让python3和pip3这两个命令指向刚刚安装的python3.6

ln -s /usr/local/python3.6/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3.6/bin/pip3.7 /usr/bin/pip3

4、验证

python3 --version
pip3 --version

pip3 list 提示升级pip
在这里插入图片描述
python3 -m pip install --upgrade pip

二、安装binlog2sql

shell> git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sql
shell> pip install -r requirements.txt

再安装binlog2sql解析所需要的包
pip3 install mysql-replication-0.13.tar.gz
pip3 install PyMySQL-0.9.3.tar.gz
pip3 install wheel-0.34.2-py2.py3-none-any.whl
pip3 list
在这里插入图片描述
所用到的包在这里

https://download.csdn.net/download/weixin_44090237/88618756?spm=1001.2014.3001.5503

三、MySQL操作
1、进入MySQL确认是否开启binlog日志

show variables like 'log%'

如未开启,修改/etc/my.cnf文件,添加如下参数

[mysqld]
server_id = 1
log_bin = mysql-bin
binlog_format = row

添加完重启MySQL服务
systemctl restart mysqld
2、创建并删除测试数据
create table user;
insert into user ;
delete from user;
3、查看当前binlog文件

show master status;

四、解析出标准SQL

python3 binlog2sql.py -h127.0.0.1 -P3306 -uroot -p'123456' -dtest -t user --start-file='mysql-bin.000002'

在这里插入图片描述
五、解析出回滚SQL

根据时间解析

python3 binlog2sql.py --flashback -h127.0.0.1 -P3306 -uroot -p'123456' -dtest -t user --start-file='mysql-bin.000002' --start-datetime='2023-12-07 16:59:49' --stop-datetime='2023-12-11 11:17:20' > user.txt

在这里插入图片描述
六、还原sql

解析拿到的sql做处理
awk -F ‘;’ ‘{print $1 “;”}’ user .txt > user.txt
cat user.txt |grep “INSERT” > user.sql

最后回到MySQL
source user.sql

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

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

相关文章

大数据驱动下的人口普查:新时代下的新变革

人口普查数据大屏,是指一种通过大屏幕显示人口普查数据的设备,可以将人口普查数据以可视化的形式呈现出来,为决策者提供直观、准确的人口数据。这种大屏幕的出现,让人口普查数据的利用变得更加高效、便捷。 如果您需要制作一张直观…

一篇文章让你读懂Jenkins的用途

Jenkins是一款强大的自动化构建工具,广泛应用于软件开发和测试领域。它能够帮助团队在软件开发过程中实现自动化,从而提高生产效率和质量。下面我们将详细介绍Jenkins的用途。 1、持续集成与持续部署 Jenkins最大的特点是支持持续集成与持续部署。在软件开发过程中,持续集…

Linux目录创建的高级操作技巧和命令

在Linux系统中,创建目录是日常操作中的基础之一。除了常规的 mkdir 命令,还有一些高级的操作技巧和命令可以提高效率。本博客将介绍一些常用的目录创建方法,以及如何结合不同命令实现更复杂的目录结构。 1. 使用 mkdir 命令 基本创建&#x…

无人机高空巡查+智能视频监控技术,打造森林防火智慧方案

随着冬季的到来,森林防火的警钟再次敲响,由于森林面积广袤,地形复杂,且人员稀少,一旦发生火灾,人员无法及时发现,稍有疏忽就会酿成不可挽救的大祸。无人机高空巡查智能视频监控是一种非常有效的…

Linux:符号和符号表

文章目录 什么是符号?什么是符号表?全局符号和本地符号1. 全局符号:symtab符号表 2. 本地符号: 符号在汇编阶段符号在链接阶段1.由模块 m 定义并能被其他模块引用的全局符号。2.由其他模块定义并被模块 m 引用的全局符号。3.只被模…

Linux【2】:清理几天前的文件夹YYYYMMDD

Linux【2】:清理几天前的文件夹YYYYMMDD 1、清理指定日期【文件名】前文件夹脚本2、清理指定日期【文件日期】前的文件3、find命令说明 1、清理指定日期【文件名】前文件夹脚本 脚本如下#!/bin/bash #移除模糊目录下的日期文件夹 RemoveDir/root/tlogs/* dtdate %Y…

Ruoyi-vue上传下载文件

1. Controller /*** 修改文书发布记录*/RepeatSubmit //禁止重复提交Log(title "文书发布记录", businessType BusinessType.UPDATE)PostMapping("update") //RequestParam("xxx") RequestBody RequestPart("xxx") 这3个注解都…

深入了解ThreadLocal:避免内存泄漏的陷阱与最佳实践

多线程编程中,数据共享与隔离一直是开发者需要面对的挑战之一。而Java中的ThreadLocal提供了一种优雅的解决方案,允许每个线程都拥有自己独立的数据副本,从而避免了共享数据带来的线程安全问题。然而,正如事物总有两面性一样&…

Kimichat使用案例:将一大片无序文本内容整理成有序的Excel表格

Kimichat是一个国产的AI大模型应用。2024年10月9日,专注于通用人工智能领域的公司月之暗面(Moonshot Al)宣布在“长文本”领域实现了突破,推出了首个支持输入20万汉字的大模型moonshot,以及搭载该模型的智能助手产品Ki…

ORCLE APEX和EBS集成的2个小问题

from跳转后,没有跳转到指定页 从EBS菜单跳转登录后,没有跳转到APEX的指定页, 原因:再USER_INTERFACE定义的地方,HOME URL 被设置成了固定值 0,如上图 解决方法:定义APP级别的ITEM,在自动登录的…

使用Dockerfile Maven Plugin 将Docker镜像Push到AWS ECR (Elastic Container Registry)

文章目录 小结问题解决AWS ECR (Elastic Container Registry)的登录问题 pull access denied for jdk, repository does not exist问题 Could not acquire image ID or digest following builddockerfile-maven-plugin 使用 参考 小结 本文记录使用Dockerfile Maven Plugin 将…

通过一道CTF题目来认识一下Frida

本文作者:杉木涂鸦智能安全实验室 Frida https://github.com/frida/frida Frida是一个动态代码插入工具,可用于各种应用程序的调试和逆向工程。它提供了多种安装选项,包括Python和Node.js绑定,并提供了详细的命令行参数和选项。…

JVM虚拟机系统性学习-运行时数据区(虚拟机栈、本地方法栈)

虚拟机栈 虚拟机栈为每个线程所私有的,如下图: 栈帧是什么? 栈帧存储了方法的局部变量表、操作数栈、动态链接和方法返回地址等信息 栈内存为线程私有的空间,每个方法在执行时都会创建一个栈帧,执行该方法时&…

Java的NIO工作机制

文章目录 1. 问题引入2. NIO的工作方式3. Buffer的工作方式4. NIO数据访问方式 1. 问题引入 在网络通信中,当连接已经建立成功,服务端和客户端都会拥有一个Socket实例,每个Socket实例都有一个InputStream和OutputStream,并通过这…

选择法排序

本题要求将给定的n个整数从大到小排序后输出。 输入格式: 输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。 输出格式: 在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有…

企业IT安全:内部威胁检测和缓解

什么是内部威胁 内部威胁是指由组织内部的某个人造成的威胁,他们可能会造成损害或窃取数据以谋取自己的经济利益,造成这种威胁的主要原因是心怀不满的员工。 任何内部人员,无论是员工、前雇员、承包商、第三方供应商还是业务合作伙伴&#…

SSL证书HTTPS保护服务

SSL证书属于数字证书的其中一种,广泛用于https协议,从而可以让数据传输在加密前提下完成,确保HTTPS网络安全是申请SSL证书必要工作。 SSL证书是主要用于https是一种加密协议,仔细观察网站地址会发现目前主流的网址前面都会有http…

【玩转TableAgent数据智能分析】利用TableAgent进行教育数据分析

文章目录 前言九章云极(DataCanvas)介绍前期准备样例数据集体验1. 样例数据集-Airbnb民宿价格&评价 体验1.1 体验一1.2 体验二 教育数据的分析(TableAgent&ChatGLM对比)1. 上传文件2. 数据分析与对比2.1 分析一2.1.1 Tabl…

web服务器之——建立两个基于ip地址访问的网站

目录 准备工作:web服务器搭建 第一步:挂载 第二步:编辑配置文件 第三步:安装软件包 第四步:启动httpd 查看配置文件: 第五步:设置防火墙状态: 重启服务: 查看状态&#xff1…

Leetcode—2961.双模幂运算【中等】

2023每日刷题&#xff08;五十六&#xff09; Leetcode—2961.双模幂运算 实现代码 class Solution { public:int func(int a, int b) {int ans 1;for(int i 0; i < b; i) {ans * a;ans % 10;}return ans;}int func2(int a, int b, int m) {int ans 1;for(int i 0; i …