1.查看binlog是否開啟
show variables like '%log_bin%';
2.查看數(shù)據(jù)文件存放路徑: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