MySQL数据误删,恢复被删除的数据

文章介绍了在MySQL数据误删的情况下,如何利用已经开启的binlog日志进行数据恢复。通过安装和使用Go语言开发的工具my2sql,可以解析binlog,将删除操作还原为INSERTSQL语句,从而恢复数据。该过程包括安装Go环境,下载my2sql,查看binlog信息,以及使用my2sql工具进行数据恢复。
摘要由CSDN通过智能技术生成

MySQL数据误删,恢复被删除的数据

使用这个方法的前提:

	mysql必须开启binlog日志。

使用的工具

go语言开发的 my2sql,(可直接下载 linux 二进制版本执行),除了闪回,
还提供了前滚和事务分析的功能。
1. 先在Linux服务器上安装Go运行环境
// tar包方式安装,下载不下来就访问链接下载tar包然后放到Linux中解压即可
1. wget https://dl.google.com/go/gol.10.3.linux-amd64.tar.gz
// 移动压缩包, 移动位置根据自己喜好移动
2. mv gol.10.3.linux-amd64.tar.gz /usr/local/
3. cd /usr/local/
// 解压压缩包
4. tar -zxvf go1.10.3.linux-amd64.tar.gz
// 配置运行环境
5. vim /etc/profile
// profile最后一行添加
6. exprot GOROOT=/usr/local/go
7. export PATH=$PATH:$GOROOT/bin
// 重新编译profile
8. suorse /etc/profile
// 查看GO的版本信息,能查到说明配置成功
9. go version
2.my2sql下载安装
my2sql链接:link
 // 将下载好的zip压缩包上传到Linux上,进行解压
 1. unzip my2sql-master.zip // 如果unzip解压说未找到命令,执行这条命令即可  yum -y install zip unzip
 2. mv my2sql-master my2sql
 3. cd my2sql/releaes/centOS_release_7.x/
 4. mv my2sql /usr/local/bin/my2sql
 5. chmod +x /usr/local/bin/my2sql
3.查看binlog日志
 // 查看binlog文件格式
 show variables like 'binlog_format';
 // 查看当前binlog日志输出文件
 show master status;
 // binlog文件列表
 show binary logs;

在这里插入图片描述

4.使用my2sql工具解析binlog日志
4.1 主要参数
-work-type:指定工作类型(前滚、闪回、事务分析),合法值分别为:2sql(默认)、rollback、stats
-sql:过滤 DML 语句的类型,合法值为:insert、update、delete
-ignorePrimaryKeyForInsert:对于 work-type 为 2sql 的 insert 操作,忽略主键(适合大量数据导入的场景)
-big-trx-row-limit int:判定为大事务的阈值(默认 500 行),合法值区间:10-30000-long-trx-seconds int:判定为长事务的阈值(默认 300 秒),合法值区间:1-3600-databases:过滤库,默认为全部库
-tables:过滤表,默认为全部表
-start-file:指定开始的 binlog 文件
-start-pos:指定 binlog 文件中开始的点位
-start-datetime:指定开始的时间
-stop-datetime:指定结束的时间
-output-dir:指定文件生成目录
-output-toScreen:指定输出到屏幕
-tl:指定时区(time location),默认为 local(Asia/Shanghai)应用场景
my2sql -user root -password 数据库密码 -host 服务器IP/ -port 数据库端口(3306) -work-type (工作类型)rollback -start-file (需要解析的日志)mysql-bin.000001 -output-dir (日志解析后输出的路径)/usr/tmp;

在这里插入图片描述

// An highlighted block
成功后如上图所示,会生成一个sql文件,sql文件里就是你想要还原的数据。

还原前做的删除操作,被my2sql还原后就会变成insert sql语句,以此类推。
再也不怕误删除了。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值