1.首先开启binlog日志功能
[root@ning mysql]# vim /etc/my.cnf
注:打开配置文件加入以上内容,需加入[mysqld]框下面,然后重启数据库服务,使其生效即可。
[root@master ~]# systemctl restart mysqld
2.进入配置文件进行查看日志功能是否开启
显示上面这样的信息就是日志功能开启成功啦。
3.登录数据库创建表
(1)刷新日志文件
mysql> flush logs;
注:用flush logs来刷新binlog日志,使下面的语句存放到下一个binlog日志中。
(2)用sql语句创建表
mysql> create table dd(id int,name varchar(20),number int);
(3)在表内插入数据
mysql> insert into dd values(1,'李四',12345678);
(4)删除表
mysql> drop table dd;
4.通过binlog日志功能进行数据恢复
[root@ning mysql]# mysqlbinlog /var/lib/mysql/mysql-bin.000004 --base64-output=decode-rows -vv #查看binlog日志内容
注:根据位置恢复 找到要恢复的sql语句的起始位置、最终位置。
根据图中起始位置是219,最终位置是620。
[root@ning mysql]# mysqlbinlog --start-position 219 --stop-position 321 mysql-bin.000002 |mysql -uroot -p123#恢复语句
5.进入数据库查看数据是否恢复
如果出现上图中的信息,即恢复成功。大家快学起来吧!