作者:admin 日期:2023-10-11 瀏覽: 次
【計算機取證】數(shù)據(jù)庫取證—MySQL數(shù)據(jù)恢復(fù)
數(shù)據(jù)庫取證是計算機取證的一個新領(lǐng)域。隨著數(shù)據(jù)庫在各個領(lǐng)域中的應(yīng)用日益廣泛,受到的威脅也越來越多,數(shù)據(jù)庫取證的研究變得日益重要。調(diào)查取證人員需要對數(shù)據(jù)車的存儲結(jié)構(gòu)和基本工作原理有所了解。
本文以Mysql數(shù)據(jù)庫誤刪除操作講解如何通過日志文件恢復(fù)數(shù)據(jù)庫內(nèi)容。
數(shù)據(jù)庫準(zhǔn)備
1. 創(chuàng)建名為test的數(shù)據(jù)庫:create database test charset=utf8;
2. 在test數(shù)據(jù)庫中新建一個名為student的表,包含id、姓名、年齡、性別。
上海數(shù)據(jù)恢復(fù)3. 向其中添加一條數(shù)據(jù):insert into student values(0, '張三', 18, default);
常州數(shù)據(jù)恢復(fù)4. 刪除test數(shù)據(jù)庫:drop database test;

此時完成了前期數(shù)據(jù)庫的創(chuàng)建、增加以及刪除的準(zhǔn)備工作,接下來使用binlog日志來嘗試恢復(fù)刪除的數(shù)據(jù)庫
binlog日志簡介
binlog即binary log,二進制日志文件,這個文件記錄了MySQL所有的增刪改 (除了數(shù)據(jù)查詢語句)語句,以事件形式記錄,還包含語句所執(zhí)行的消耗的時間。
1.首先查看binlog日志是否開啟,Value值若為ON,則可繼續(xù)執(zhí)行以下的操作,若為OFF表示沒有開啟,因此不能使用這種方法進行恢復(fù)。
2.輸入show master status查看最后一個binlog日志的編號和最后一個操作的結(jié)束點。
3.執(zhí)行show binlog events in'binlog.000002';可在mysql中查看日志文件的全部內(nèi)容,但因binlog為二進制文件,普通查看器無法正常查看,因此需要將文件使用自帶的mysqlbinlog將其轉(zhuǎn)化為可正常閱讀的sql文件。
4.在mysql安裝路徑中找到data目錄下的binlog.000002文件,將其復(fù)制到bin目錄下,在cmd窗口中輸入mysqlbinlog binlog.000002 > 2.sql,可將日志文件轉(zhuǎn)換成sql文件,便于閱讀。
在日志文件中可查看創(chuàng)建數(shù)據(jù)庫的所有sql語句,將這些sql語句進行重組,即可恢復(fù)數(shù)據(jù)庫。以上就是使用binlog日志文件恢復(fù)mysql數(shù)據(jù)庫的方法。
END