1.先查看binlog功能是否开启
show variables like ‘%log_bin%’;(查看log_bin字段是否为on)
2.查看数据文件存放路径
show variables like ‘%datadir%’;
3.找到mysql安装目录
show variables like “%basedir%”;
4.通过mysqlbinlog恢复删除的数据日志记录
mysqlbinlog --base64-output=decode-rows -v --database=databaseName --start-datetime=“2020-12-04 16:00:00” --stop-datetime=“2020-12-04 17:00:00” /var/lib/mysql/binlog.000061 > mysqllog.sql
5.把mysqllog的DELETE转换为Insert语句,这个在liunx下操作方便
cat mysqllog.sql | sed -n ‘/###/p’ | sed ‘s/### //g;s//*./,/g;s/DELETE FROM/;INSERT INTO/g;s/WHERE/SELECT/g;’ |sed -r 's/(@17.),/\1;/g’ | sed ‘s/@1=//g’| sed ‘s/@[1-9]=/,/g’ | sed ‘s/@[1-9][0-9]=/,/g’ > mysqllogOK.sql
mysql误执行删除操作恢复数据
最新推荐文章于 2026-08-17 21:52:04 发布
本文介绍如何使用MySQL的binlog功能恢复误删的数据。首先检查binlog功能是否启用,然后定位到数据文件路径及MySQL安装目录。接着利用mysqlbinlog工具导出指定时间段的日志,并通过一系列命令将DELETE操作转换为INSERT语句。

4318

被折叠的 条评论
为什么被折叠?



