数据库取证是计算机取证的一个新领域。随着数据库在各个领域中的应用日益广泛,受到的威胁也越来越多,数据库取证的研究变得日益重要。调查取证人员需要对数据车的存储结构和基本工作原理有所了解。
本文以Mysql数据库误删除操作讲解如何通过日志文件恢复数据库内容。
数据库准备
1. 创建名为test的数据库:create database test charset=utf8;
2. 在test数据库中新建一个名为student的表,包含id、姓名、年龄、性别。
3. 向其中添加一条数据:insert into student values(0, ‘张三’, 18, default);
4. 删除test数据库:drop database test;
此时完成了前期数据库的创建、增加以及删除的准备工作,接下来使用binlog日志来尝试恢复删除的数据库
binlog日志简介
binlog即binary log,二进制日志文件,这个文件记录了MySQL所有的增删改 (除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间。
1.首先查看binlog日志是否开启,Value值若为ON,则可继续执行以下的操作,若为OFF表示没有开启,因此不能使用这种方法进行恢复。
2.输入show master status查看最后一个binlog日志的编号和最后一个操作的结束点。
3.执行show binlog events in’binlog.000002′;可在mysql中查看日志文件的全部内容,但因binlog为二进制文件,普通查看器无法正常查看,因此需要将文件使用自带的mysqlbinlog将其转化为可正常阅读的sql文件。
4.在mysql安装路径中找到data目录下的binlog.000002文件,将其复制到bin目录下,在cmd窗口中输入mysqlbinlog binlog.000002 > 2.sql,可将日志文件转换成sql文件,便于阅读。
在日志文件中可查看创建数据库的所有sql语句,将这些sql语句进行重组,即可恢复数据库。以上就是使用binlog日志文件恢复mysql数据库的方法。
END
原文始发于微信公众号(天鉴科技):【计算机取证】数据库取证—MySQL数据恢复