mysql通过Binlog日志恢复数据

日志存放位置

一般在/etc/my.cnf有写dir

将日志转为.sql文件

mysqlbinlog --no-defaults --base64-output=decode-rows -v --start-datetime="2021-11-10 00:00:00" --stop-datetime="2022-01-01 00:59:59" /www/server/data/mysql-bin.000025 | grep -i -A 10 -B 10 "user_id='1234'" > 1234.sql

几个注意

1.如果知道position可以指定如 --start-position=573 --stop-position=718
2.建议使用时间,好评估--start-datetime --stop-datetime
3.可以指定数据库 --database=helloworld
4.可以通过grep过滤