Büyük Database?leri Sql Dump İle Yedekleme Ve Geri Yükleme

Mysql de adını bildiğimiz bir veritabanının yedeğini almak için mysqldump komutunu kullanabiliriz, basitçe kullanımı

Büyük Database?leri Sql Dump İle Yedekleme Ve Geri Yükleme 

mysqldump -u kullanici_adi -p parola veritabani_ismi > yedeklenecek_dosya.sql

 

mesela vpopmail adlı veritabanımı yedeklemek istersem aşağıdakine benzer bir komut kullanmam yeterli.

root@maviyan~> mysqldump -u root -p cinali vpopmail > qmail_yedek.sql

 

Bir sistemde bulunan tüm veritabanlarının yedeğini almak istersek basitçe aşağıdaki komut işimizi görecektir.

root@maviyan~> mysqldump –all-databases -u root -p cinali > tum_yedek.sql

 

alınan yedegin icine bakacak olursak…

root@maviyan~> cat qmail_yedek.sql

 
– MySQL dump 8.23

– Host: localhost Database: vpopmail
———————————————————
– Server version 3.23.58


– Table structure for table `dir_control`

CREATE TABLE dir_control (
domain char(64) NOT NULL defa
…..

SQL dump mevcut kullandığınız veritabanının bir nevi metne veya text haline getirmektir. Aslında phpMyAdmin ile de bu işlemi yapabilirsiniz, fakat 5-10 Mb’dan büyük veritabanlarını aktarmanın ne kadar zor olduğunu sanırım biliyorsunuzdur. Ayrıca Türkçe verilerinizin karakterlerinin bozulmasıda yüksek bir ihtimaldir. Eğer bir hosting kullanıyorsanız bunu yapmanız elbette mümkün değil, peki büyük veri içeren dosyalarınızı yeni hosting taşıdığınızda nasıl yapacaksınız ? İşte yapmanız gerekenler ve örnek komutlar ;

Yedek Almak için ;
 

mysqldump  -u db_kullanıcı_adınız -h localhost -p –opt db_adınız > db_yedeğim.sql

  veya

mysqldump -u db_kullanıcı_adınız -p db_adi | gzip > /klasor/yedekadi.sql.gz

  veya

mysqldump -u db_kullanıcı_adınız -pŞifreniz db_adi > /klasor/yedekadi.sql

 
Komutu girdikten sonra şifrenizi sorucak ve veritabanızın büyüklüğüne göre bir kaç saniye ile bir kaç dakika arasında işlemi yapacaktır. Yukarıda kırmızı renkle işaretlediğim yerlere kendi bilgilerinizi yazacaksınız.

Yedeği geri yüklemek için ;
 

mysql -u db_kullanıcı_adınız -h localhost yüklenicek_db_adı -p < db_yedegim.sql

 
Burada yine kırmızı bölümle işaret ettiğim noktaları, kendi bilgilerinizle değiştireceksiniz.

Ben 500 Mb’lik bir yedek almıştım, ama bundan daha büyük veritabanları için gzip ile sıkıştırma yöntemini kullanabiliriz.

Gzip ile yedek Almak için ;
 

mysqldump  -u db_kullanıcı_adınız -h localhost -p –opt db_adınız | gzip >  db_yedeğim.sql

  veya

mysqldump -u db_kullanıcı_adınız -pŞifreniz db_adi | gzip > /klasor/yedekadi.sql.gz

 

Gzip yedeğini geri yüklemek için ;
 

cat gzip_db_yedegim.gz  | gunzip | mysql -u db_kullanıcı_adı -h localhost db_adı

  veya

gzip -dc < [DATABASE].sql.gz | mysql -u db_kullanıcı_adı -pSIFRE db_adi

 

Uzak sunucudaki veritabanından yedek almak için “-h” parametresini kullanabilirsiniz.

 

mysqldump -h 19.03.19.03 -u db_kullanıcı_adı -pŞifreniz db_adi | gzip > /klasor/yedekadi.sql.gz

 

 

 

 

Kaynak :

 

Yorumunuzu Ekleyin
Büyük Database?leri Sql Dump İle Yedekleme Ve Geri Yükleme Yorumları +1 Yorum
  • murat
    1
    murat
    merhaba

    veritabımızdan sadece bir tablonun yedeğini almak istersek nasıl bir komut girmemiz gerekir.

    iyi çalışmalar
    11 Şubat 2009 18:58:24, Çarşamba


Yükleniyor...
    Yükleniyor...