Bugün esas olarak bir deney yapacağım.Bir veritabanı tablosunun .frm dosyası silindiğinde sadece .ibd dosyası kaldı, nasıl geri yükleyeceğim?
1. Çevresel hazırlık
veritabanı testi oluşturun; test kullanın; TABLO OLUŞTUR "t` ( `id` int (11) VARSAYILAN NULL ) MOTOR = InnoDB VARSAYILAN KARAKTER = utf8; t değerlerine (1), (2), (3) ekleyin;2. .frm dosyalarını manuel olarak silin
rm -rf t.frm1. Başka bir veritabanı örneğinde aynı tablo yapısına sahip yeni bir tablo oluşturun
sys kullanın; TABLO OLUŞTUR "t` ( `id` int (11) VARSAYILAN NULL ) MOTOR = InnoDB VARSAYILAN KARAKTER = utf8;2. Yeni kitaplığın .ibd dosyasını kaynak kitaplığa taşıyın
cp -a ../sys/t.frm.3. Verileri görüntüleyin
1. Veritabanını yeniden başlatın
systemctl yeniden başlat mysqld2. Başka bir veritabanı örneğinde aynı tablo yapısına sahip yeni bir tablo oluşturun
mysql kullanın; TABLO OLUŞTUR "t` ( `id` int (11) VARSAYILAN NULL ) MOTOR = InnoDB VARSAYILAN KARAKTER = utf8;3. Yeni kitaplığın .ibd dosyasını kaynak kitaplığa taşıyın ve test edin
cp -a ../mysql/t.frm.Kurtarılan verileri bulabilirsiniz.
Faydalı bulursanız, lütfen iletmeye yardım edin! Daha sonra daha fazla devop ve DBA içeriği paylaşacağım ve ilgilenen arkadaşlar buna dikkat edebilir ~