(1)首先确认是否开启binlog,如果开启了就可以此恢复删除的数据
查看是否开启了备份功能:
show VARIABLES like ‘%log_bin%‘;
结果如下图:
(2)查看日志,找到删除数据的记录
log_bin_basename 指向的目录就是备份文件所在目录;
查看数据库日志文件:
一、查看最早binlog的日志: show binlog events; 二、查看指定的binlog日志: show binlog events in ‘binlog.000047‘; 三、指定查看 binlog.000047 这个文件,从pos点:20开始查起: show binlog events in ‘binlog.000047‘ from 20; 四、指定查看 binlog.000047 这个文件,从pos点:20开始查起,查询10条 show binlog events in ‘binlog.000047‘ from 20 limit 10; 五、指定查看 binlog.000047 这个文件,从pos点:20开始查起,偏移5行,查询10条 show binlog events in ‘binlog.000047‘ from 20 limit 5,10;
(3)日志导出sql
到日志所在的位置,执行以下命令,成功导出到d盘
mysqlbinlog --nodefaults binlog.000048 > d:/my.sql
注意查看下大小,如果命令报错也可能生成空脚本
(4)恢复数据
新开一个cmd窗口,然后执行以下命令
mysql -uroot -p -v < my.sql
数据恢复成功!
注意,所有命令行操做都要使用cmd执行,不要使用 powershell!