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,一经查实,立即删除!

相关文章

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

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

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

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

Linux:符号和符号表

文章目录 什么是符号?什么是符号表?全局符号和本地符号1. 全局符号:symtab符号表 2. 本地符号: 符号在汇编阶段符号在链接阶段1.由模块 m 定义并能被其他模块引用的全局符号。2.由其他模块定义并被模块 m 引用的全局符号。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,在自动登录的…

通过一道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,并通过这…

企业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 …

评论送书:以企业架构为中心的SABOE数字化转型五环法

01 传统企业数字化转型面临诸多挑战 即将过去的2023年&#xff0c;chatGPT大模型、数据资产入表等事件的发生&#xff0c;标志着数字经济正在加速发展。数字经济是人类社会继农业经济、工业经济之后的第三种经济形态&#xff0c;将推动生产方式、生活方式和治理方式深刻变革&a…

2-Spring

2-Spring 文章目录 2-Spring项目源码地址Spring概述Spring特点&#xff08;优点&#xff09;Spring相关学习网站基于Maven的Spring框架导入Spring的组成及拓展 Spring-IOC--原型理解IOC-原型--示例开发示例-常规开发示例-Set函数&#xff08;IOC原型&#xff09;开发示例-对比思…

C++STL的list(超详解)

文章目录 前言构造函数capacitylist的访问insertswapsort 前言 看一下list, 在任意位置可以进行O(1)插入删除的操作。 它怎么实现这个东西&#xff1f;它其实就是一个带头双向循环链表。 #成员函数 构造函数 这里面的构造函数学完string和vector之后已经相当熟悉了。 capaci…

如何将用户有过行为的item用list形式记录下来,另外如何计算list里的个数

导语&#xff1a; 最近做项目&#xff0c;发现有些语法想一想是知道&#xff0c;但实际操作起来跟想的情况不一样哈哈。不是遇见bug就是输出的结果不是自己想要的&#xff0c;CSDN跟知乎找了很多没怎么解决&#xff0c;后面多摸索多实操终于解决&#xff01; test_data[item_…

数据结构-05-跳表SkipList

1-什么是跳表 跳表SkipList是一种随机化的数据结构&#xff0c;基于并联的链表&#xff0c;实现简单&#xff0c;插入、删除、查找的复杂度均为 O(logN)&#xff08;大多数情况下&#xff0c;因为是实现上是概率问题&#xff09;&#xff0c;因为其性能匹敌红黑树且实现较为简单…

msvcr110.dll丢失的解决方法有哪些-常见方法教程

我们在日常使用电脑中经常遇到各种问题&#xff0c;比如系统文件丢失是最常见的&#xff0c;其中msvcr110.dll丢失也是非常常见的问题&#xff0c;那么msvcr110.dll文件为什么会丢失&#xff0c;丢失对电脑有什么影响呢&#xff0c;丢失了有什么解决方法&#xff1f;今天小编就…