1.查看binlog是否开启
show variables like %log_bin% ;
2.查看数据文件存放路径:bin-log路径
show variables like %datadir% ;
3.找到删除时间段的binlog,翻译为sql
./mysqlbinlog –base64-output=decode-rows -v –database=test –start-datetime=”2022-04-19 14:00:00″ –stop-datetime=”2022-04-19 15:25:00″ “/usr/local/mysql/data/mysql-bin.000007” > /tmp/1.sql
4.在生成的 mysqllog.sql 文件同路径下 ,生成将delete翻译为insert的sql文件
cat 1.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
5.打开生成的sql文件找到相应的insert,将翻译的insert语句复制到mysql里面执行。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...


