MySQL yedekleme (backup) nasıl yapılır? (mysqldump, mysqlhotcopy, Percona XtraBackup)

Yedekleme Neden Önemlidir?

Veritabanı yedekleme, veri kaybını önlemek ve sistem arızası durumlarında hızlı bir şekilde geri yükleme imkanı sağlamak amacıyla gerçekleştirilen önemli bir işlemdir. Veri kaybına neden olabilecek durumlar arasında donanım arızaları, yazılım hataları, insan hataları veya siber saldırılar yer almaktadır. Bu nedenle, düzenli yedekleme, verilerin güvenliği ve bütünlüğü için kritik bir öneme sahiptir.

mysqldump Aracı

MySQL veritabanı yedekleme işleminin en yaygın yöntemlerinden biri mysqldump aracını kullanmaktır. Bu komut satırı aracı, MySQL veritabanlarını SQL dosyaları olarak dışa aktarır. Mysqldump kullanarak yedek almak için temel komut yapısı şu şekildedir:

“`
mysqldump -u [kullanıcı_adı] -p [veritabanı_adı] > yedek.sql
“`

Belirtilen kullanıcı adı ile veritabanına bağlanılır ve veritabanı içeriği SQL formatında ‘yedek.sql’ adlı dosyaya aktarılır. Eğer birden fazla veritabanı yedeklenmek isteniyorsa, veritabanı adlarının arasında boşluk bırakılarak belirtilmesi yeterlidir. Yalnızca veritabanının yapısını yedeklemek isteniyorsa `–no-data` seçeneği kullanılabilir:

“`
mysqldump -u [kullanıcı_adı] -p –no-data [veritabanı_adı] > yedek_yapisi.sql
“`

Mysqldump; veritabanında depolanan tabloların verilerini ve yapısını saklama yeteneği sunmakta olup, yedek dosyası daha sonra `mysql` aracıyla geri yüklenebilir:

“`
mysql -u [kullanıcı_adı] -p [veritabanı_adı] < yedek.sql ``` mysqlhotcopy Aracı

mysqlhotcopy, yalnızca MyISAM ve InnoDB tabloları için kullanılabilen bir başka yedekleme aracıdır. Bu araç, MySQL veritabanı yedeklemesini, dosyaları doğrudan kopyalayarak hızlandırır. Kullanım şekli aşağıdaki gibidir:

“`
mysqlhotcopy [veritabanı_adı] [yedek_dizini] -u [kullanıcı_adı] -p
“`

Bu komut, belirtilen veritabanı adındaki tabloları, belirtilen yedekleme dizinine kopyalar. Bu yöntem hızlı ve etkin bir şekilde yedek alınmasını sağlar; ancak dikkat edilmesi gereken en önemli nokta, veritabanının kullanımda olmaması gerektiğidir. Aksi takdirde tutarsız verilerle karşılaşma riski bulunmaktadır.

Percona XtraBackup

Percona XtraBackup, MySQL ve MariaDB veritabanları için tasarlanmış bir açık kaynak yedekleme aracıdır. Gerçek zamanlı (hot backup) yedekleme işlemleri için kullanılabilen bu araç, özellikle yüksek kullanılabilirliği olan sistemlerde tercih edilmektedir. XtraBackup, InnoDB tabloları için veri tutarlılığını sağlarken, MyISAM tablolarını da destekler. Yedek almak için temel komut, aşağıdaki gibidir:

“`
xtrabackup –backup –target-dir=/path/to/backup/directory –datadir=/var/lib/mysql
“`

Bu komut, belirtilen `target-dir` dizinine yedek almaya başlar. Yedekleme işlemi tamamlandıktan sonra, yedeklerin geri yüklenmesi için aşağıdaki adımlar uygulanmalıdır:

1. `xtrabackup –prepare –target-dir=/path/to/backup/directory`
2. `xtrabackup –copy-back –target-dir=/path/to/backup/directory`

Bu işlemler, yedekleme dosyalarının geri yüklenmesine ve veritabanının yeniden çalışır duruma getirilmesine imkan tanır.

Yedekleme Stratejileri

Yedekleme işlemleri uygulanırken farklı stratejiler benimsenebilir. Tam yedekleme, veritabanının tüm içeriğini kopyalamayı içerirken, artımlı yedekleme yalnızca son yedeklemeden bu yana yapılan değişiklikleri içerir. Farklı yedekleme yöntemleri ve stratejileri, işletmenin ihtiyaçlarına göre belirlenmeli ve uygulanmalıdır.

Yedekleme sıklığı da dikkate alınmalıdır. Veritabanının büyüklüğü, veri değişim hızı ve iş sürekliliği gereksinimleri göz önünde bulundurularak, yedekleme sıklığı haftalık, günlük veya anlık olarak ayarlanabilir.

Geri Yükleme Süreci

Yedekleme işlemi tamamlandıktan sonra, gerektiğinde bu yedeklerin geri yüklenmesi için bir planlama yapılmalıdır. Yedekleme türüne bağlı olarak geri yükleme adımları değişiklik gösterebilir. SQL dosyalarıyla yapılan yedeklemelerde `mysql` komutu kullanarak geri yükleme gerçekleştirilirken, XtraBackup kullanılarak alınmış yedekleri geri almak için belirli ön hazırlıkların yapılması gerekmektedir.

Veri güvenliği ve sistem sürekliliği sağlamak amacıyla yedekleme işlemleri düzenli olarak kontrol edilmeli ve yedeklerin doğruluğu test edilmelidir. Bu sayede, sistem arızası durumunda veri kaybı riski en aza indirilmiş olur. Çeşitli yedekleme yöntemleri ve araçlarının bilinmesi, veritabanı yöneticilerine esneklik ve seçenek sunarak, hem veri güvenliğini artırmak hem de işletme sürekliliğini sağlamak açısından avantajlar sunar.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

SON İÇERİKLER

İLGİNİZİ ÇEKEBİLİR