通过mysqldump+binlog进行增量备份与基于pos位置的恢复

模拟场景:删除数据库,并且所有操作都是在同一个日志文件中

步骤一:进行完全备份。执行如下命令完整备份一次数据库,备份到当前目录的backup20190612.sql文件中。

参数说明:

  • -B:备份时添加建库语句
  • -l:数据库表添加只读锁
  • -F:刷新bin-log日志文件,相当于执行flush logs指令,生成新的bin-log日志文件,此后日志都放在新的bin-log日志文件中,利于查找。

步骤二:登录进入MySQL server,查看当前使用的bin-log日志文件。当前使用的日志文件是DESKTOP-R7JK9T5-bin.000005,记录的位置是154。

通过mysqldump+binlog进行增量备份与基于pos位置的恢复_第1张图片步骤三:往数据库里面写入一条新的数据,学号是1,名字是lijingjing

步骤四:模拟删除数据库

drop database dreamhom;

通过mysqldump+binlog进行增量备份与基于pos位置的恢复_第2张图片

步骤五:开始恢复。

先从完全备份中恢复,

通过mysqldump+binlog进行增量备份与基于pos位置的恢复_第3张图片

查看数据库,dreamhom数据库恢复,但是表中的数据还是没有恢复

通过mysqldump+binlog进行增量备份与基于pos位置的恢复_第4张图片

通过mysqldump+binlog进行增量备份与基于pos位置的恢复_第5张图片

步骤六:需要从日志文件中恢复,先将当前文件转化问文本文件

步骤七:找到文本文件并且打开,搜索自己的删除数据库的点,搜索 drop database dreamhom

通过mysqldump+binlog进行增量备份与基于pos位置的恢复_第6张图片

步骤七:在指定的时间点进行恢复数据库

步骤七:查看数据库是否完全恢复

通过mysqldump+binlog进行增量备份与基于pos位置的恢复_第7张图片

 

数据库恢复成功!!

你可能感兴趣的:(数据库)