前言
仅限于菜鸟的一次简单体验。
前提:mysql已经开启了binlog日志功能。可以自行百度,推荐地址--------->windows下如何开启mysql日志功能
体验目标:在数据库表里面新增一条数据,然后再删除该条数据,然后通过binlog去恢复被删除的数据。
环境
windows10;
mysql5.7.21;
数据库初始状态
可以看到只有两条记录。
数据准备
先来添加一条数据
再将这条数据删除
使用命令
mysql> show master status;
查看最新的日志写在那个日志文件,如下
可以看到日志写在了mysql-bin.000002这个配置文件。
使用命令
mysql> show binlog events in 'mysql-bin.000002';
查看日志内容:
红色方框圈的就是刚才插入数据的日志,红色方框下面的就是删除那天数据的日志。从红色方框里的内容可以看出,插入操作日志起始位置是937,结束为止是1293,这两个数字要记住!!!
接下来退出mysql
执行mysql>exit;即可
开始恢复数据
该mysqlbinlog命令出场了。
在执行该命令以前确保你已经将该命令加入了环境变量,否则你需要进入mysql安装目录的bin文件夹下执行该命令。
注意到上面图中三个红色方框,做一下说明:
第一个:代表要恢复的日志起始位置;
第二个:要恢复的日志的结束位置;
第三个:使用的日志文件的路径
执行完之后再去查询数据表
发现刚才删掉的数据已经恢复了。
至此,目标达成,大功告成!