下文主要給大家?guī)硎褂胠sof回恢復被誤刪的mysql數(shù)據庫文件,希望這些內容能夠帶給大家實際用處,這也是我編輯使用lsof回恢復被誤刪的mysql數(shù)據庫文件這篇文章的主要目的。好了,廢話不多說,大家直接看下文吧。
誤刪數(shù)據庫文件后,請不要重啟mysqld!
rm /data/mysql/test/test2.ibd lsof | grep test2.ibd mysqld 93384 93483 mysql 21uW REG 8,3 98304 33578386 /data/mysql/test/test2.ibd (deleted)PID為93384 文件標識符為21
cat /proc/93384/fd/21 > /data/mysql/test/test2.ibd
重啟數(shù)據庫 提示:
Starting MySQL.. ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).
原因: ll /data/mysql/test/test2.ibd 的用戶與用戶組為root
解決:chown mysql:mysql /data/mysql/test/test2.ibd
重啟數(shù)據庫成功
原理:
當進程打開了某個文件時,只要該進程保持打開該文件,即使將其刪除,它依然存在于磁盤中。這意味著,進程并不知道文件已經被刪除,它仍然可以向打開該文件時提供給它的文件描述符進行讀取和寫入。除了該進程之外,這個文件是不可見的,因為已經刪除了其相應的目錄索引節(jié)點。
在/proc 目錄下,其中包含了反映內核和進程樹的各種文件。/proc目錄掛載的是在內存中所映射的一塊區(qū)域,所以這些文件和目錄并不存在于磁盤中,因此當我們對這些文件進行讀取和寫入時,實際上是在從內存中獲取相關信息。大多數(shù)與 lsof 相關的信息都存儲于以進程的 PID 命名的目錄中,即 /proc/1234 中包含的是 PID 為 1234 的進程的信息。每個進程目錄中存在著各種文件,它們可以使得應用程序簡單地了解進程的內存空間、文件描述符列表、指向磁盤上的文件的符號鏈接和其他系統(tǒng)信息。lsof 程序使用該信息和其他關于內核內部狀態(tài)的信息來產生其輸出。所以lsof 可以顯示進程的文件描述符和相關的文件名等信息。也就是我們通過訪問進程的文件描述符可以找到該文件的相關信息。
當系統(tǒng)中的某個文件被意外地刪除了,只要這個時候系統(tǒng)中還有進程正在訪問該文件,那么我們就可以通過lsof從/proc目錄下恢復該文件的內容。
對于以上關于使用lsof回恢復被誤刪的mysql數(shù)據庫文件,大家是不是覺得非常有幫助。如果需要了解更多內容,請繼續(xù)關注我們的行業(yè)資訊,相信你會喜歡上這些內容的。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
文章標題:使用lsof回恢復被誤刪的mysql數(shù)據庫文件-創(chuàng)新互聯(lián)
分享鏈接:http://jinyejixie.com/article30/dpocpo.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站設計、品牌網站制作、云服務器、定制網站、App設計、App開發(fā)
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)