MySql Parçalı Dosyaları İçeri Aktarma

Yedekleme sistemleri her yazılım ve sistem için oldukça önemlidir. Farklı yedekleme senaryoları mevcuttur. Bundanlar en basit olanı veritabanını dump etmektir. Diğeri ise tüm veritabanını tek bir dosyada dump etmek yerine tabloları ayrı ayrı dump etmektir.

Tek bir dosya halindeki yedekleriniz veritabanınızdaki veri büyüklüğüne göre başarılı olabilir. Fakat büyük bir veritabanınız mevcut ise tek bir dosya halinde yedeklemenizi tavsiye etmem.

Elimizde MySql veritabanınızın dump edilmiş hali yani tüm veritabanının dosyaya çıktı alınmış halini aşağıdakine benzer bir komut ile Linux Terminal üzerinden içeriye tekrar alabilirsiniz.


mysql -u MYSQL_USER -pMYSQL_SIFRENIZ VERITABANI_ADI < $d

Fakat dosyalarınız parçalı halde yani her bir tablo ayrı ayrı olarak dump edilmiş ise içeriye almak oldukça zorlaşacaktır. Çünkü tablo sayınız ve data boyutunuz arttıkça tek tek işlem yapmak eziyet halini alacaktır. Bu işlemleri de aşağıdaki gibi bir bash script hazırlayıp yapabilirsiniz. Bu arada komut dosyalarınızın tek bir klasör altında çalışıyor ise doğru çalışacaktır. Farklı klasörler altında dosyalarınız mevcut ise duruma göre düzenleme yapmanız gerekir.


#! /bin/bash
for d in YEDEKLERIN_BULUNDUGU_KLASOR/* ; do
	mysql -u MYSQL_USER -pMYSQL_SIFRENIZ VERITABANI_ADI < $d
done

Bash script dosyamızı kendi sunucu ve veritabanı bilgilerimiz ile düzenleyip mysql_recovery.sh gibi bir isimle kaydedin.

sh mysql_recovery.sh komutuyla veya kaydetmiş olduğunuz isimle dosyanızı çalıştırın. İşlemler bittiğinde kontrollerinizi yapabilirsiniz.

Linux CentOS dağıtımında denenmiştir. Farklı bir linux dağıtımı kullanıyorsanız komutlarınızı kullanmış olduğunuz linux dağıtımına göre düzenleyiniz.

 

Bir Cevap Yazın