PHP Kullanarak MySQL Veritabanını Yedekleme

Veritabanı yedekleme, her web geliştirici için olmazsa olmaz işlemlerdendir. Düzenli veritabanı yedekleme, verileri kaybetme riskini önler ve herhangi bir sorun oluştuğunda veritabanını geri yüklemeye yardımcı olur. Bu nedenle, mümkün olduğunca sık olarak veritabanını yedeklemek iyi bir fikirdir.

Blog sayfamı takip edenler için yaklaşık 3 yıl önce burada bir yedekleme mekanizması paylaşmıştım. Uzun zamandır ben de cronlar (zamanlanmış görevler) aracılığıyla buradaki mekanizmadan yararlanarak yedeklerimi alıyorum. Bu makalemde veritabanı yedekleme işlemini yazılımsal olarak geliştirerk bir fonksiyona bağlayacağım. Siz de bunu basitçe kullanacaksınız.

Aslında mySQL veritabanını bir dosyada yedeklemenin birçok yolu vardır. Barındırma sunucusundan tek bir tıklamayla yada arayüz programları aracılığıyla veritabanını yedekleyebilirsiniz. Bunlar hep geliştiriciye iş yükü getiren işlemlerdir. Bu arayüzlerden bağımsız olarak ta yedeklerinizi alabilirsiniz. (PHP aracılığıyla)

Peki arayüz ile değil de PHP üzerinden veritabanı yedeği almak bize ne gibi artılar kazandırır?

Yukarıda belirttiğim gibi arayüzler ile yedek almanız her zaman size iş yükü çıkaracaktır. Örneğin yedek almayı unuttuğunuz bir dönem olabilir. Bu dönemde olası yaşayacağınız bir veri kaybının geri dönüşü olmayacaktır. Ancak veritabanını aşağıda göstereceğim yöntemle yazılımsal olarak fiziksel bir dizine aldığımızda, bunu tetikleyen PHP dosyamızı da bir cron’a (zamanlanmış görev) tanımladığımızda (her gün saat 12:00’da yedek al) bu işlemi otomatiğe bağlamış olacağız. Sistem bir nevi kendi işini kendi halletmiş olacak. Bize de yedekleri belirli aralıklarla kontrol etmek kalacak.

Hemen aşağıda MySQL veritabanını yedeklemek ve bir SQL dosyasına kaydetmek için bir PHP betiği oluşturacağız.

PHP’yi kullanarak MySQL Veritabanı Yedekleme

Yedekleme için gerekli tüm PHP kodlarımı backupDatabaseTables() fonksiyonunda birlikte toplayacağım. backupDatabaseTables() fonksiyonunu kullanarak belirli tabloları veya tüm tabloları bir veritabanından kolayca yedekleyebilirsiniz. MySQL veritabanını PHP kullanarak yedeklemek için aşağıdaki parametreler gereklidir.

  • $dbHost Zorunlu. Veritabanının ana sunucusunu belirtir.
  • $dbUsernameZorunlu. Veritabanı kullanıcı adını belirtir.
  • $dbPasswordZorunlu. Veritabanı şifresini belirtir.
  • $dbNameZorunlu. Yedeklemek istediğiniz veritabanı adını belirtir.
  • $tablesİsteğe bağlı. Virgül ile ayrılmış dizge veya dizideki tablo adlarını belirtir. Veritabanının tüm tablolarını yedeklemek için bu parametreyi atlayın.

Kullanımı:

MySQL veritabanı yedeğini oluşturmak ve bir SQL dosyasına kaydetmek için  backupDatabaseTables() fonksiyonunu kullanmanız yeterlidir.

Bir sonraki makalede görüşmek üzere. Soru, görüş ve önerilerini yorum bölümünden paylaşabilirsiniz. Sağlıklı, huzurlu günler dilerim.

Yazar: Fatih Soysal

Kullanım ve kodlama mükemmeliyetini odak alan uygulamalar oluşturma deneyimine sahip, profesyonel olarak 15+ yıl üzeri deneyime sahip bir yazılım mühendisi.

Subscribe
Bildir

3 Yorum
Eskiler
En Yeniler Beğenilenler
Inline Feedbacks
View all comments
Özgür
26 Nisan 2019 12:14

Merhaba,
Güzel çalıştı elinize sağlık fakat türkçe karakterleri hatalı indirdi.

Berkhan Kuyumcu
3 Eylül 2019 14:07

Merhabalar ben bunu bilgisayarımda nasıl sürekli çalışır bi halde kullanacagım hergün saat 12 de bu dosyayı açmammı gerekicek ?

wpDiscuz
3
0
Would love your thoughts, please comment.x
Exit mobile version