Mysql Fiziksel(Raw) Backup vs Mantıksal(Logical) Backup
Fiziksel(Raw) Mysql Backup
Fiziksel(raw) yöntemi kullanarak alınan backuplar, veritabanı içeriklerini tutan dizin ve dosyaların kopyalanması ile oluşturulur. Sıkıntı anında, hızlı geri dönüş (burda kurtama da diyebilirsiniz) sağlar. Genellikle büyük ve önemli veritabanları için bu yöntem tercih edilir.
Fiziksel Backup'ın Özellikleri
- "Memory" tablolarında tutulan verilerin backupını almak gerçekten büyük sıkıntı, sonuçta veriler diskte değil, ramde tutuluyor.
- Log ve ayar dosyalarının da yedeğini alıyor
- Mantıksal(logical) yedeklemeye göre çıktısı sıkıştırılmıştır.
- Değişim olmadan kopyalama yaptığınından mantıksal yedeklemeye göre daha hızlıdır.
- Benim en beğendiğim kısım; yedek almak için mysql'in çalışır vaziyette olması gerekmez.
Backup alma örneği:
/usr/local/mysql/bin/mysqlbackup --port=3306 --protocol=tcp --user=$BACKUP_USER --password=$BACKUP_PASS --with-timestamp --backup-dir=$BACKUP_DIR
Not: Malesef mysqlbackup Oracle tarafından lisanslanmış, Enterprise Mysql'e ait bir binary.
Mantıksal(Logical) Mysql Backup
Mantıksal yedekleme ile aslında alışageldiğimiz sql komutlarını, create database, Insert vs, kaydeder. Okunabilir bir formmatta olduğu için metin editörü veya basit bir sed, awk ile içeriğini değiştirebilir veya tablo yapısını değiştirebiliriz. Küçük ve yönetilebilir veritabanları için çok uygun.
Mantıksal Yedeklemenin Özellikleri
- Mysql'e sorgular atarak yedekleme yaptığından, fiziksel yedeklemenin aksine Mysql sunucusunun çalışır olması gerekmetedir.
- Ayarlar, loglar vs gibi verileri almaz.
- Veritabanından aldığı verileri, mantıksal formata çevirerek çalıştığından fiziksel backupa göre çok daha yavaştır.
- Bütün veritabanının yedeğini alabilmek ile beraber, tek bir db veya tablonun da yedeğini alabilir.
Backup alma örneği:
mysqldump -u [user name] –p [password] [database_name] > dumpfile.sql
Linux sistem yöneticisi olarak başladığım kariyerime devops alanında devam ediyorum. Linux, kubernetes, docker ve go en sevdiğim alanlar.. Bunların dışında GCP ve AWS tecrübem var.
Yorum Yapın