MySQL利用ext3grep恢复Myisam表(三)

2014-11-24 17:42:40 · 作者: · 浏览: 1
r 237644 D 1243926666 Tue Jun 2 15:11:06 2009 rrw-rw---- t.frm
6 7 r 237650 D 1243926666 Tue Jun 2 15:11:06 2009 rrw-rw---- t.MYI
7 end r 237651 D 1243926666 Tue Jun 2 15:11:06 2009 rrw-rw---- t.MYD
ok,到这里我们需要恢复的表t的3个文件已经出来了,然后在执行恢复。


# ext3grep /dev/sda6 --restore-inode 237650
Running ext3grep version 0.10.1
Restoring inode.237650
# ext3grep /dev/sda6 --restore-inode 237651
Running ext3grep version 0.10.1
Restoring inode.237651


# ext3grep /dev/sda6 --restore-inode 237644
Running ext3grep version 0.10.1
Restoring inode.237644


cd RESTORED_FILES/
mv inode.237644 t.frm
mv inode.237650 t.MYI
mv inode.237651 t.MYD
ll
total 20
-rw-r----- 1 root root 8556 Jun 2 16:26 t.frm
-rw-r----- 1 root root 21 Jun 2 16:26 t.MYD
-rw-r----- 1 root root 1024 Jun 2 16:26 t.MYI
将数据文件所在分区mount,并将恢复的表t的文件copy到原目录。设置好权限,启动mysql。


mount /dev/sda6 /u01
cp t.* /u01/data/test
chown -R mysql.mysql test/
/etc/init.d/mysqld start
Starting MySQL. [ OK ]
mysql> use test
Database changed


mysql> select * from t;
+------+
| id |
+------+
| 1 |
| 2 |
| 3 |
+------+
3 rows in set (0.01 sec)
OK,表已经被恢复。