mysql-刪庫不跑路之lsof

問題描述:今天一個同學過來求救,idb文件被誤刪除了,想要找dba恢復

解決思路:實例在沒有重啓的狀況下可以根據lsof恢復,這也是linux常用文件恢復的方法

恢復步驟(網絡上有較多解決思路,這裏簡單記錄,便於下次使用):

1、ps -ef|grep mysqld 找到mysql對應的進程號,這個時候訪問出問題最好給mysql加個全局的鎖(flush tables with read lock;)

2、lsof|grep deleted|grep *.ibd 看下這個文件還有木有

3、找到這個對應的文件拷貝回去 

根據進程號找到目錄

cd  /proc/123940/fd   (ps:123940就是ps -ef|grep mysqld 查到的進程號)

這個時候執行ll會出現文件號指向不同的文件,找到想要恢復的文件cp回去

cp /proc/123940/fd/70 > /data/mysql/data/xxx.ibd

4、修改文件權限到mysql,重啓即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章