运用此方法,需要恢复的文件无论是在windows还是linux都可以,但是恢复的时候需要借助linux上的命令mysqlbinlog、sed等。
请参考此文章:MySQL 误操作后数据恢复(update,delete忘加where条件)。
其中最后在转成插入sql的时候:
cat delete.txt | sed -n '/###/p' | sed 's/### //g;s/\/\*.*/,/g;s/DELETE FROM/INSERT INTO/g;s/WHERE/SELECT/g;' | sed -r 's/(@4.*),/\1;/g' | sed 's/@[1-9]=//g' > t1.sql
上面的命令用了正则表达式来替换,其中的表达式需要改成适合自己的表达式,比如说:
我的表有23列,就需要把
@4.*改成@23.*
@[1-9]=改成@[0-9]\{1,2\}=
我的表内容里面有/**等字符,就需要把
\/\*.*改成\/\* .*