背景是客服反饋有數(shù)據(jù)被清理掉了妹窖,開始追溯日志
查看mysql是否開啟日志:
show variables like '%log%';
蛋疼general_log是關(guān)閉的忌穿,繼續(xù)看二進(jìn)制日志有沒有開啟束莫,
好消息碧注,二進(jìn)制日志是開的
從docker進(jìn)入該目錄 docker exec -it ......,miamiamia~~~~~~
根據(jù)系統(tǒng)參數(shù)查看該目錄下日志文件 并使用log_bin_basename 過濾一下(當(dāng)然你可以不過濾直接看竖哩,文件也不是特別多)
cd? /var/lib/mysql
ls -ltrh|grep binlog
看了一下日志,pm反饋?zhàn)蛱鞌?shù)據(jù)還有怀跛,那28號(hào)之前的日志可以放棄距贷,簡單看一下日志可以在Navicat里面看,數(shù)據(jù)量很大可以放棄吻谋,直接使用mysqlbinlog命令看忠蝗,因?yàn)閿?shù)據(jù)有上下關(guān)聯(lián)關(guān)系,最好還是用命令轉(zhuǎn)成文檔看好一些
show binlog events in 'binlog.000006';
找到mysqlbinlog所在目錄漓拾,因?yàn)槭莇ocker鏡像 文件相對(duì)來說少一些阁最,直接用find命令過濾一下,如果是mysql的鏡像的話,應(yīng)該有環(huán)境變量的設(shè)置可以跳過這一步直接使用該命令即可
find / |grep?mysqlbinlog
把二進(jìn)制文件轉(zhuǎn)為txt文本骇两,
/usr/bin/mysqlbinlog --base64-output=DECODE-ROWS -v binlog.000006 > mysqlbin6.txt
exit退出docker鏡像速种,開始拷貝文件到當(dāng)前目錄下:
docker cp 鏡像id:/var/lib/mysql/mysqlbin6.txt ./
下載文件,開始分析(就是看一下被刪數(shù)據(jù)的表低千,ctrl+f開始搜索就可以了)
這應(yīng)該是在系統(tǒng)中使用對(duì)應(yīng)功能刪除的配阵,不過日志沒記錄,案件暫時(shí)到這里基本可以告一段落了示血,確定這個(gè)時(shí)間點(diǎn)公司沒這么勤快的人干活棋傍,應(yīng)該是客戶自己搞的,再追查到具體操作人就有點(diǎn)難看了
記錄一下命令免得再來一次