Mysql update误操作恢复

来源:这里教程网 时间:2026-03-01 11:49:43 作者:

update忘加where条件误操作 从binlog找到那条语句: [root@xxx]#/usr/local/mysql/bin/mysqlbinlog --no-defaults -v -v --base64-output=DECODE-ROWS mysq-bin.xxxx | grep -B 15 'failure' | more /*|*/; 导出binlog [root@xxx]#/usr/local/mysql/bin/mysqlbinlog --no-defaults -v -v --base64-output=DECODE-ROWS mysq-bin.xxxx | sed -n '/# at 249/,/COMMIT/p' > /opt/1.txt 将binlog转换为sql语句 [root@xxx]#sed '/WHERE/{:a;N;/SET/!ba;s/\([^\n]*\)\n\(.*\)\n\(.*\)/\3\n\2\n\1/}' 1.txt | sed -r '/WHERE/{:a;N;/@4/!ba;s/### @2.*//g}' | sed 's/### //g;s/\/\*.*/,/g' | sed '/WHERE/{:a;N;/@1/!ba;s/,/;/g};s/#.*//g;s/COMMIT,//g' | sed '/^$/d' > ./recover.sql mysql> source /opt/recovery.sql mysql> select * from test;

相关推荐