MyISAM
MyISAM tablosu mydb.mytable için üç dosyanız olmalıdır
\bin\mysql\mysql5.6.12\data\mydb\mytable.frm
\bin\mysql\mysql5.6.12\data\mydb\mytable.MYD
\bin\mysql\mysql5.6.12\data\mydb\mytable.MYI
Her dosya gerekli verileri, meta verileri ve dizin bilgilerini içerdiğinden, tablo olarak zaten erişilebilir olmalıdırlar. Toplu olarak, masayı oluştururlar. Erişilecek harici depolama motoru mecahnizmi yoktur.
InnoDB'nin
InnoDB'nin bu Resimli Temsiline bir göz atın

İbdata1'i .ibddosyalara iliştiren tek şey veri sözlüğüdür .
Göreviniz, kabul etmeye karar verirseniz, her tabloyu oluşturmak ve .ibd
Herhangi bir şey yapmadan önce "\ bin \ mysql \ mysql5.6.12 \ data" dosyasının tam bir kopyasını başka bir kopyaya oluşturun
İşte bir örnek
mydbTablo ile bir veritabanınız olduğunu varsayalım mytable. Bu şu anlama gelir
- Klasöre sahipsiniz
\bin\mysql\mysql5.6.12\data\mydb
- Bu klasörün içinde,
İhtiyacınız var .frm. Yazıma bakarsanız Tablo şemasını yalnızca .frm dosyasından nasıl ayıklayabilirsiniz? , tabloyu oluşturmak için gereken SQL'i oluşturabilen bir MySQL yardımcı programını indirebilirsiniz.
Şimdi aşağıdakileri yapmalısınız
- Şuraya taşı
mytable.ibd:\bin\mysql\mysql5.6.12\data
- InnoDB tablosu oluşturmak için SQL'i çalıştırın
- Mysql oturumu açın ve çalıştırın
ALTER TABLE mydb.mytable DISCARD TABLESPACE;(Bu silinir \bin\mysql\mysql5.6.12\data\mydb\mytable.ibd)
- Kopya
\bin\mysql\mysql5.6.12\data\mytable.ibdiçine\bin\mysql\mysql5.6.12\data\mydb
- MySQL giriş ve
ALTER TABLE mydb.mytable IMPORT TABLESPACE;(Bu \bin\mysql\mysql5.6.12\data\mydb\mytable.ibdveri sözlüğüne kayıt olacak )
Bundan sonra, masa mydb.mytabletamamen erişilebilir olmalıdır. Bu erişilebilirliği basitçe çalıştırarak test edebilirsiniz:
SELECT * FROM mydb.mytable LIMIT 10;
Bir şans ver !!!
DRINK (Veri Kurtarma Gerekli Bilgiyi İçerir) Sorumlu