MySQL ve yedekleme teknikleri | zbahadir

Kategori | MySQL

Etiketler :

MySQL ve yedekleme teknikleri

Eklenme Tarihi : 12 February 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.

Bu konuyu ekleyen :

zbahadir - Toplam 57 yazısı bulunuyor zbahadir.


Yönetime bildir...

Yorum Ekle

Yorum ekleyebilmek için burdadan giriş yapabilirsiniz.

Kategoriler

ArÅŸiv