下文主要給大家?guī)硎褂胠sof回恢復被誤刪的mysql數據庫文件,希望這些內容能夠帶給大家實際用處,這也是我編輯使用lsof回恢復被誤刪的mysql數據庫文件這篇文章的主要目的。好了,廢話不多說,大家直接看下文吧。
主要從事網頁設計、PC網站建設(電腦版網站建設)、wap網站建設(手機版網站建設)、成都響應式網站建設、程序開發(fā)、微網站、微信小程序定制開發(fā)等,憑借多年來在互聯網的打拼,我們在互聯網網站建設行業(yè)積累了豐富的成都網站設計、成都網站制作、外貿網站建設、網絡營銷經驗,集策劃、開發(fā)、設計、營銷、管理等多方位專業(yè)化運作于一體,具備承接不同規(guī)模與類型的建設項目的能力。誤刪數據庫文件后,請不要重啟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
重啟數據庫 提示:
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
重啟數據庫成功
原理:
當進程打開了某個文件時,只要該進程保持打開該文件,即使將其刪除,它依然存在于磁盤中。這意味著,進程并不知道文件已經被刪除,它仍然可以向打開該文件時提供給它的文件描述符進行讀取和寫入。除了該進程之外,這個文件是不可見的,因為已經刪除了其相應的目錄索引節(jié)點。
在/proc 目錄下,其中包含了反映內核和進程樹的各種文件。/proc目錄掛載的是在內存中所映射的一塊區(qū)域,所以這些文件和目錄并不存在于磁盤中,因此當我們對這些文件進行讀取和寫入時,實際上是在從內存中獲取相關信息。大多數與 lsof 相關的信息都存儲于以進程的 PID 命名的目錄中,即 /proc/1234 中包含的是 PID 為 1234 的進程的信息。每個進程目錄中存在著各種文件,它們可以使得應用程序簡單地了解進程的內存空間、文件描述符列表、指向磁盤上的文件的符號鏈接和其他系統(tǒng)信息。lsof 程序使用該信息和其他關于內核內部狀態(tài)的信息來產生其輸出。所以lsof 可以顯示進程的文件描述符和相關的文件名等信息。也就是我們通過訪問進程的文件描述符可以找到該文件的相關信息。
當系統(tǒng)中的某個文件被意外地刪除了,只要這個時候系統(tǒng)中還有進程正在訪問該文件,那么我們就可以通過lsof從/proc目錄下恢復該文件的內容。
對于以上關于使用lsof回恢復被誤刪的mysql數據庫文件,大家是不是覺得非常有幫助。如果需要了解更多內容,請繼續(xù)關注我們的行業(yè)資訊,相信你會喜歡上這些內容的。
另外有需要云服務器可以了解下創(chuàng)新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。