本人由于一时疏忽大意,用Navicat导出的某张表的表结构(a.sql文件中),原本想打开这个文件,修改表明后,在创建一张新表,
奈何,手速有点控制不住,直接拖到了Navicat中,瞬间,懵逼了,表被删除重建了。这张表记录着收费的明细,重要性不言而喻。
不一会客户电话就狂轰乱炸,虽然知道知道MySQL有备份文件+binglog可以恢复,但是从来没有试验过,这时手心已冒汗。只能找度娘来帮忙。
本文将恢复过程的做一次记录。
Binlog数据恢复是应用于数据库自最后一次备份后,期间由于某种原因,引起数据丢失后的恢复。
当引起数据丢失的时候,为了保险起见,应立即停止对外服务。
Mysql Binlog恢复步骤:
一、数据库停止对外服务
二、查看日志文件
show master logs;
三、刷新binlog,让后续的日志写入新的日志件,避免当前日志数据太多,查找关键点费时。
flush logs;
四、flush logs后,查看日志文件,就会比上次多了最后一个文件,那么数据丢失的操作应该在倒数第二个文件
show master logs;
五、使用mysqlbinlog查看日志,查找误操作的时间点
由于日志文件是二进制文件,所以需要用到mysqlbinlog导出转换人眼能够看懂的记录。
mysqlbinlog 在MySQL安装的目录bin
通过以下命令将日志导出,在E盘test.sql文件
C:\Program Files\MySQL\MySQL Server8.0\bin>mysqlbinlog.exe E:\\WINDOWS-4561231H-bin.000074 >E:\\test.sql