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

MySQL de veritabanı yedeklememysqldump -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 ? Onuda bir sonraki yazımda :)  İşte yapmanız gerekenler ve örnek komutlar ;

Yedek Almak için ;

bash :  mysqldump  -u db_kullanıcı_adınız -h localhost -p –opt db_adınız > db_yedeğim.sql  ( Enter)
Enter Password :

Şimdi elbette Enter Password bölümünü yazmıyorsunuz enter yazan yerde ne yapacağınızı sanırım biliyorsunuzdur :) 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 ;

bash : mysql -u db_kullanıcı_adınız -h localhost yüklenicek_db_adı -p < db_yedegim.sql  ( Enter )
Enter Password :

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 ;

bash :  mysqldump  -u db_kullanıcı_adınız -h localhost -p –opt db_adınız | gzip >  db_yedeğim.sql  ( Enter)
Enter Password :

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

bash : cat gzip_db_yedegim.gz  | gunzip | mysql -u db_kullanıcı_adı -h localhost  db_adı ( Enter )
Enter Password :

Not : Yukarıda ” bash ” ile belirttiğim bölüm, linux konsolu anlamına gelmektedir.