MySQL误删除文件后,如何恢复
2017-10-21 20:28
218 查看
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)
首先介绍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删除ibdata1后,如何通过.frm文件把表结构恢复过来
- 人工误删除了MYSQL的InnoDB ibdata数据文件,如何快速恢复
- mysql用户密码修改,用户添加、删除、设置权限及源文件恢复数据库
- webstorm删除的文件,如何恢复?
- 桌面的文件彻底删除如何免费恢复教程
- SVN如何恢复已删除文件或文件夹
- linux下,如何恢复ext文件系统下删除的文件
- 如何关闭MySQL日志,删除mysql-bin.0000*日志文件及Starting MySQL.Manager of pid-file quit without updating file.[FAI
- myeclipse如何恢复删除的文件
- mysql误删除InnoDB数据文件恢复
- MySQL:如何从ibd文件中恢复数据
- SVN如何恢复已删除文件或文件夹
- myeclipse如何恢复已删除的文件和代码
- 如何从Eclipse中恢复删除的cvs文件
- 如何恢复误删除的Linux文件
- Eclipse中如何恢复已删除文件
- 如何恢复Linux上删除的文件
- 如何免费恢复U盘彻底删除的文件
- [转]如何恢复SVN中已删除文件或文件夹
- 电脑硬盘删除的文件如何恢复