MySQL Yedek Alma Ve Büyük Dosya Yükleme

Yazıda MySQL VTY sistemine büyük yedek yükleme için kullanılan yöntemler ve yedek alma için kullanılan komut ile ilgili bilgi yer almaktadır.

phpMyAdmin

phpMyAdmin ara yüzünde veri tabanı dosyası yükleme sınırı standart olarak PHP ayarlarındaki yükleme sınırı ile gelmektedir. Büyük boyutlarda dosya yüklerken “php.ini” dosyasında değişiklik yapabileceğimiz gibi PHP ayarlarında herhangi bir değişiklik yapmadan da yapabiliriz. İlk olarak phpMyAdmin dosyalarının bulunduğu klasördeki “config.inc.php” dosyasını açın, dosya içerisinde aşağıdaki satır bulunuyorsa veri tabanı dosyasının atacağınız dizinin yolunu belirtin, aşağıdaki satır bulunmuyorsa “config.inc.php” dosyanın en sonuna ekleyebilirsiniz.

$cfg['UploadDir'] = ''; // Dosyayı yüklediğiniz dizi yolunu

phpMyAdmin ara yüzünden veri tabanı dosyalarını yükleme alanına geldiğinizde artık belirlediğiniz klasör yolundaki dosyaları seçme imkanı gelmiştir. Belirlediğiniz klasörün içine yükleyeceğiniz veri tabanı dosyasını atarak büyük boyuttaki dosyalarınızı yükleyebilirsiniz.

BigDump

Veri tabanı dosyasını yükleyeceğiniz sistemde PHP kodlarının çalıştırılabilir olması gerekmektedir. Sisteminizde phpMyAdmin gibi bir ara yüz yoksa küçük boyutu sayesinde kolay yükleme olanağı sunan BigDump kullanabilirsiniz.

İlk olarak BigDump betiğini şuradan indirin.

Sıkıştırılmış olarak indirdiğiniz dosyayı arşivden çıkardığınızda “bigdump.php” isimli dosya gelecektir. Bu dosya içerisinde yükleyeceğimiz MySQL veri tabanı bilgilerini girmemiz gerekmekte. Dosyayı herhangi bir metin veya kod editör ile açtığımızda aşağıdaki satırları kendi sisteminize göre düzenlemeniz gerekmektedir.

$db_server   = 'localhost'; // MySQL sunucu adresi genellikle "localhost"
$db_name     = ''; // Dosyanın yükleneceği veri tabanı adı
$db_username = ''; // MySQL kullanıcı adı
$db_password = ''; // MySQL kullanıcı şifresi

Gerekli düzenlemeleri yaptıktan sonra dosyayı çalıştırdığınızda dosya seçme ve yükleme ekranı gelecektir. Bazı sunucularda dosya yükleme sınırı az belirlendiğinden PHP ayarlarının bulunduğu “php.ini” dosyasından “upload_max_filesize” değerini değiştirmeniz gerekebilir.

; Boyutu MB cinsinden sınır belirleyebilirsiniz.
upload_max_filesize = 128M

Uzak sunucunuza bu yöntem ile 512mb’a varan boyutlarda internet bağlantınıza göre yükleme yapabilmeniz sağlıklı olabilir. Fakat daha büyük boyuttaki dosyaları yüklemek isterseniz. Yüklemek istediğiniz veri tabanı dosyasını FTP veya farklı bir yöntemle sunucuya attıktan sonra “bigdump.php” içindeki

$filename           = ''; // Yüklenecek dosya ismi

değerini attığınız veri tabanı dosyasının adını yazarak atılması daha sağlıklı olacaktır. BigDump kullanımı hakkında daha detaylı bilgi ve dokümana sitesinden ulaşabilirsiniz.

Komut İle

MySQL’in çalıştığı sisteme göre komut satırına aşağıdaki komutları yazdığınız taktirde büyük boyuttaki veri tabanı dosyalarınızı yükleyebilirsiniz.

mysql -u KULLANICIADI -pKULLANICIŞİFRE --default-character-set=utf8 VT_ADI < dosya_adi.sql

MySQL yedek almak linux sistemlerde terminal, uzak linux sistemlerde SSH, windows sistemlerde CMD için aşağıdaki MySQL yedek alma komutu sayesinde yedek alabilirsiniz.

mysqldump -u KULLANICIADI -pKULLANICIŞİFRE --default-character-set=utf8 VT_ADI > dosya_adi.sql

Hızlı bir yükleme için

MySQL büyük dosya yükleme işlemi için çeşitli yöntemler olsa da MySQL yapılanması ve kullanılan MySQL sistemine(INNODB) göre yükleme uzun zaman alabilmektedir.

Bunu önüne geçmek için veri tabanı dosyasında çeşitli değişikler yapılması gerekiyor.

İlk olarak veri tabanı dosyasını açın ve dosyanın başına aşağıdaki komutları ekleyin.

SET autocommit=0;
SET unique_checks=0;
SET foreign_key_checks=0;

Daha sonra dosyanızın sonuna (Dosya sonuna gitmek için windows sistemlerde CTRL+END kısa yolu kullanabilirsiniz ) aşağıdaki komutları ekleyin.

COMMIT;
SET unique_checks=1;
SET foreign_key_checks=1;

Artık veri tabanı dosyalarınız daha hızlı yüklenecektir.

Hayırlı günler dilerim.

Bunlar da hoşunuza gidebilir...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir