记一次mysql误删恢复

第一步:binlog第一次解析,命令如下:

mysqlbinlog -uroot -pAht@app@mysql --start-datetime="2021-08-27 14:25:00" --stop-datetime="2021-08-27 14:30:07" \
--base64-output=decode-rows -v --read-from-remote-server -vv binlog.000011 > /e.log

第二步:从k8s容器中复制第一步解析后的文档到宿主机

kubectl cp aht-boot-mysql-0:/e.log e.log

第三步:第二次解析成可执行sql

cat e.log | 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-9]=//g' | sed 's/@[1-9][0-9]=//g'  > be.log

第四步:从远程机器复制到本机

scp root@192.168.10.208:/root/be.log D:/opt/be.log

 

上一篇:简述sed、grep和parted的速查表


下一篇:sed 非交互式处理文档