加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

使用MySQL二进制日志复原已删除数据方法

发布时间:2023-10-20 16:01:27 所属栏目:MySql教程 来源:
导读:本文主要给大家简单讲讲使用MySQL二进制日志恢复已删除数据方法,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望使用MySQL二进制日志恢复已删除数据方法这篇文章
本文主要给大家简单讲讲使用MySQL二进制日志恢复已删除数据方法,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望使用MySQL二进制日志恢复已删除数据方法这篇文章可以给大家带来一些实际帮助。
 
删除 MySQL 表中的数据
 
mysql> use sbtest;
 
mysql> select count(*) from sbtest1;
 
+----------+
 
| count(*) |
 
+----------+
 
|     1000 |
 
+----------+
 
1 row in set (0.00 sec)
 
mysql> delete from sbtest1;
 
Query OK, 1000 rows affected (0.21 sec)
 
mysql> select count(*) from sbtest1;
 
+----------+
 
| count(*) |
 
+----------+
 
|        0 |
 
+----------+
 
1 row in set (0.00 sec)
 
复制代码
 
确认时间点和当前二进制日志文件,从二进制日志中读取操作记录
 
mysqlbinlog \
 
--start-datetime="2018-09-27 15:55:00" \
 
--stop-datetime="2018-09-27 15:00:00" \
 
--base64-output=decode-rows \
 
--result-file=result.sql \
 
-v /var/lib/mysql/binlog.000022
 
复制代码
 
其中的一条记录
 
使用MySQL二进制日志恢复已删除数据方法
 
去除不相关的内容
 
grep -A 5 "DELETE FROM \`sbtest\`.\`sbtest1\`" result.sql > 1.txt
 
复制代码
 
使用MySQL二进制日志恢复已删除数据方法
 
提取数据
 
grep "=" 1.txt > 2.txt
 
sed -i 's/###   //g' 2.txt
 
复制代码
 
使用MySQL二进制日志恢复已删除数据方法
 
使用以下脚本生成 INSERT 语句
 
[root@mysql03 tmp]# cat r2.sh
 
#!/bin/bash
 
vs=""
 
while read line
 
do
 
    n=`echo $line | awk -NF "=" '{print $1}'`
 
    v=`echo $line | awk -NF "=" '{print $2}'`
 
    if [ "$n" = "@1" ]; then
 
        vs="INSERT INTO \`sbtest\`.\`sbtest1\` VALUES("$v
 
    elif [ "$n" = "@2" ]; then
 
        vs=$vs" , "$v
 
    elif [ "$n" = "@3" ]; then
 
        vs=$vs" , "$v
 
    elif [ "$n" = "@4" ]; then
 
        vs=$vs" , "$v");"
 
        echo $vs >> 3.txt
 
    fi
 
done < 2.txt
 
[root@mysql03 tmp]# sh r2.sh
 
复制代码
 
使用MySQL二进制日志恢复已删除数据方法
 
将数据导入到 MySQL 表中
 
[root@mysql03 tmp]# mysql < 3.txt
 
mysql> select count(*) from sbtest1;
 
+----------+
 
| count(*) |
 
+----------+
 
|     1000 |
 
+----------+1 row in set (0.00 sec)
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章