Mysql基于belog恢复数据

1、先查找要恢复的sql语句在哪个binlog文件中

2、再找到该sql上下的position位置

3、上下position中的语句导出

4、想办法恢复成insert或者upate语句,插入

查找DELETE事件是不是在该文件中

mysqlbinlog --start-datetime="2025-07-08 22:00:00" --stop-datetime="2025-07-08 23:00:00" -vv binlog.000393 | grep -n "DELETE FROM \`lims-312442\`.\`t_attribute_record\`" > /home/tuojian/data2.sql

找到之后将文件导出

mysqlbinlog --start-datetime="2025-07-08 22:00:00" --stop-datetime="2025-07-08 23:00:00" -vv binlog.000393 > /home/zzh/data.sql

找到之前的 at position,记录下来

然后

导出数据

mysqlbinlog --start-position=293782036 --stop-position=293782626 -vv binlog.000393 > /home/tuojian/data3.sql