vlambda博客
学习文章列表

【计算机取证】数据库取证—MySQL数据恢复







数据库取证是计算机取证的一个新领域。随着数据库在各个领域中的应用日益广泛,受到的威胁也越来越多,数据库取证的研究变得日益重要。调查取证人员需要对数据车的存储结构和基本工作原理有所了解。


【计算机取证】数据库取证—MySQL数据恢复


本文以Mysql数据库误删除操作讲解如何通过日志文件恢复数据库内容。


数据库准备

【计算机取证】数据库取证—MySQL数据恢复


1. 创建名为test的数据库:create database test charset=utf8;


【计算机取证】数据库取证—MySQL数据恢复


2. 在test数据库中新建一个名为student的表,包含id、姓名、年龄、性别。


【计算机取证】数据库取证—MySQL数据恢复


3. 向其中添加一条数据:insert into student values(0, '张三', 18, default);


【计算机取证】数据库取证—MySQL数据恢复 


4. 删除test数据库:drop database test;


【计算机取证】数据库取证—MySQL数据恢复


此时完成了前期数据库的创建、增加以及删除的准备工作,接下来使用binlog日志来尝试恢复删除的数据库


binlog日志简介

【计算机取证】数据库取证—MySQL数据恢复


binlog即binary log,二进制日志文件,这个文件记录了MySQL所有的增删改 (除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间。


1.首先查看binlog日志是否开启,Value值若为ON,则可继续执行以下的操作,若为OFF表示没有开启,因此不能使用这种方法进行恢复。


【计算机取证】数据库取证—MySQL数据恢复


 2.输入show master status查看最后一个binlog日志的编号和最后一个操作的结束点。


【计算机取证】数据库取证—MySQL数据恢复


3.执行show binlog events in'binlog.000002';可在mysql中查看日志文件的全部内容,但因binlog为二进制文件,普通查看器无法正常查看,因此需要将文件使用自带的mysqlbinlog将其转化为可正常阅读的sql文件。


【计算机取证】数据库取证—MySQL数据恢复 

4.在mysql安装路径中找到data目录下的binlog.000002文件,将其复制到bin目录下,在cmd窗口中输入mysqlbinlog binlog.000002 > 2.sql,可将日志文件转换成sql文件,便于阅读。




在日志文件中可查看创建数据库的所有sql语句,将这些sql语句进行重组,即可恢复数据库。以上就是使用binlog日志文件恢复mysql数据库的方法。


END