日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL文件后_MySQL误删除文件后,如何恢复

發布時間:2025/3/11 数据库 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL文件后_MySQL误删除文件后,如何恢复 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MySQL在運行中,如果誤刪除數據文件,只有服務進程沒有退出,那么就有辦法將其恢復。

首先介紹Linux下lsof:他可以顯示打開的文件和網絡連接。

其次/proc目錄包含了反映內核和進程樹的各種文件。/proc/504目錄包含的是PID是504的進程信息。通過ps命令查看進程的進程ID。兩者結合可以將刪除的文件恢復。

1、表文件:

[rdb@localhost yzs]$ ll

total 120

-rw-rw---- 1 rdb rdb ?8584 Sep ?2 19:43 t2.frm

-rw-rw---- 1 rdb rdb 98304 Oct ?6 20:45 t2.ibd

2、將t2.ibd文件刪除

[rdb@localhost yzs]$ rm -rf t2.ibd

3、通過lsof命令查看打開t2.ibd的進程號,可以看到是38,并且有(deleted)標記,表示已刪除

[root@localhost fd]# lsof | grep t2.ibd

mysqld ? ? 5004 ? ? ? rdb ? 38uW ? ? REG ? ? ? ?8,2 ? ?98304 ? ? 654903 /home/rdb/data/yzs/t2.ibd (deleted)

4、恢復,38是設備描述符fd

[root@localhost fd]# cp 38 /home/rdb/data/yzs/t2.ibd

5、文件已恢復

mysql> select *from t2;

+----+------+

| id | id2 ?|

+----+------+

| ?1 | ? ?1 |

| ?2 | ? ?2 |

| ?3 | ? ?3 |

| ?4 | ? ?4 |

| ?6 | ? ?6 |

| ?7 | ? ?7 |

+----+------+

6 rows in set (0.00 sec)

注:

如果不知道進程ID,可以通過下面命令查看被刪除的信息,然后找到對應刪除的文件,執行第4步:

[root@localhost fd]# lsof -nP |grep '(deleted)'

mysqld ? ? 5004 ? ? ? rdb ? 38uW ? ? REG ? ? ? ?8,2 ? ?98304 ? ? 654903 /home/rdb/data/yzs/t2.ibd (deleted)

總結

以上是生活随笔為你收集整理的MySQL文件后_MySQL误删除文件后,如何恢复的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。