Kategorilendirildi | MySQL

Tags :

MySQL ve yedekleme teknikleri

Kategori: 12 Şubat 2007

MySQL Yedekleme Teknikleri

YEREL:
Yedekle:
mysqldump -u user -p password database > yedek_database.sql

Sıkıştırılmış olarak Yedekle:
mysqldump -u user -p password database | gzip > yedek_database.sql.gz

Geri yükle:
mysql -u user -p password database < yedek_database.sql

INTERNET ÜZERİNDEN:

Yedekle:
mysqldump -u user -h HOST -p –opt database > yedek_database.sql

Sıkıştırarak yedekle:
mysqldump -u user -h HOST -p –opt database | gzip > yedek_database.sql.gz

Geri yükle:
mysql -u user -h HOST dbname -p < dbname.sql

Sıkıştırılmış dosyayı geri yükle:
cat dbname.sql.gz | gunzip | mysql -u user -h HOST dbname

Mysql’de bulunan bütün db’leri tek komutla yedeklemek için şu komutu kullanın;

mysqdump -uuser -ppass -A > all_db_yedek.sql

MySQL yedekleme önemli bir konu olduğu için bir kaç ekleme daha yapmakta fayda vardır diye düşünüyorum.

Diyelimki MySQL db’niz var ve bu db ‘nin boyu çok büyük, bilgilerinizin tamamını değilde sadece çok kullanılan önemli bir tabloyu yedeklemek istiyoruz.

Sadece belirtilen tabloyu yedeklemek için;
mysqldump -uroot -p database tablo > tabloadi.sql

Tabloyu sıkıştırarak almak için eklememiz gerek parametse gzip;
mysqldump -uroot -p database tablo | gzip > tabloadi.sql
Durumdan da anlaşılacağı gibi gzip programının sisteminize yüklü olması gerekiyor.

Daha başka yöntemlerde var, mesela her seferinde tabloların almaya gerek olmayabilir, yani sadece verileri indirmek yeterli olacaktır. O zaman eklememiz gereke parametre –no-create-info
mysqldump -uroot -p –no-create-info database tablo > tabloadi.sql

Peki sadece tabloları boş olarak indirmek istersen o zaman stringimiz şu şekilde olacaktır;
mysqldump -uroot -p –no-data database tablo > tabloadi.sql l
Daha da çok işinize yarayacak bir yöntemi kullanabiliriz. Diyelim ki db’nize her gün yüzlerce kayıt giriyor ve db’niz günden güne büyüyor. DB’yi her gün yedeklemek çok olacaktır ve gereksiz bir sürü bw harçanmasına neden olacaktır.

Benimde kullandığım bir yöntemle onunda üstesinden gelmem mümkün. DB’yi bir kere indirdikten sonra sadece eklenen verileri indirmeye ne dersiniz. Değil mi çok mantıklı sadece yeni eklenen verileri indirmek ciddi bir zaman ve bw ekonomisi sağlayacaktır.

Verilerinizi girerken her db’de mutlaka verilerin kayıt olduğu tarihte db’ye girilmektedir. O zaman sadece o gün girilen verileri yedekleyelim;

Yedekleme yapmadan önce verilerin zaman bilgilerinin nasıl girildiğini bilmekte fayda vardır.
mysqldump -uroot -p db tablo –where zaman=’20-10-2006′ > gunlikveri.sql

Buradaki zaman db’deki zaman bilgisinin saklandığı hücrenin adıdır.

Verileri net üzerinden yedekliyorsanız -h sunucu parametresini eklemeniz gerektiğini yukarıda belirtmiştik.

MySQL yedekleme teknikleri daha ayrıntılı bilgilerini vermeye devam edeceğim.

Ekleyen:

zbahadir - who has written 76 : zbahadir.


Yazara Mesaj Gönder

Fikrini Söyle

Yorum yapmak için Giriş yapmalısınız.

Önemli Linkler

Kategoriler

Arşivler

Takvim

Şubat 2007
Pts Sal Çar Per Cum Cts Paz
    Mar »
 1234
567891011
12131415161718
19202122232425
262728