mysqli "innodb_force_recovery=1" ile başlatarak bozuk tablodan veri kurtarabilirsiniz,
oncelikle yeni bir innnodb tablo açın ornegin kurtar isminde
"insert ignore into kurtar select * from bozuktablo limit 10" şeklinde komut istemini kullanarak (limit 10 kısmını yavaş yavaş artırarak devam edin,
aşağıdaki gibi kurtarılan verilerle ilgili mesajlar göreceksiniz
Alıntı
mysql> insert ignore into kurtar select * from bozuktablo limit 10;
Query OK, 10 rows affected (0.00 sec)
Records: 10 Duplicates: 0 Warnings: 0
aşağıdaki gibi hata mesajı aldığınız da o kısmın bozuk olduğunu anlıyoruz,
Alıntı
mysql> insert ignore into kurtar select * from bozuktablom limit 300;
ERROR 2013 (HY000): Lost connection to MySQL server during query
şimdi o kısmı atlayarak devam edin kurtarmaya
Alıntı
mysql> insert ignore into kurtar select * from bozuktablo where id>300;
Query OK, 573140 rows affected (7.79 sec)
Records: 573140 Duplicates: 0 Warnings: 0
sağlam verileri kurtar adlı tabloya almış olduk.