PHP | Mysql Yedek (Backup) Alma
Mysql veri tabanı yedeklemede üç yöntemden bahsedebiliriz bunlar;
- 1. PHP ile mysqle veritabanı yedekleme sorgusu göndererek yedek dosya sı oluşturmak.
- 2. mysqldump komutunu system() fonksiyonu ile shell de çalıştırmak (güvenlik nedeni ile çoğu hosting firması system()fonksiyonunu yasaklar)
- 3. Son yöntem ise phpmyadmin ile dışa aktarmaktır
Yöntem 1
Mysql sorgusu ile yedek oluşturmak için kullanacağımız kod şöyle;
<?php include 'config.php'; //gerekli konfigürasyan değerleri programcıya göre değişir. include 'opendb.php'; //veritabanı bağlantı kodları $tableName = 'benimtablom'; $backupFile = 'backup/benimtablom.sql'; $query = "SELECT * INTO OUTFILE '$backupFile' FROM $tableName"; $result = mysql_query($query); include 'closedb.php'; //veri tabanı bağlantısını sonlandırdığımız kodları içerir ?>
bu yöntemle oluşturduğumuz yedekleri geriyüklemek için şu kodları kullanacağız
<?php include 'config.php'; include 'opendb.php'; $tableName = 'benimtablom'; $backupFile = 'benimtablom.sql'; $query = "LOAD DATA INFILE '$backupFile' INTO TABLE $tableName"; $result = mysql_query($query); include 'closedb.php'; ?>
Yöntem 2
mysqldump komutunu shell üzerinde system() fonksiyonu ile çalıştırmak. Bu yöntemi kullanmak için gereken kodlar şöyle
<?php
include 'config.php'; // Örnek: $dbhost='localhost';$dbuser='dia';$dbpass='j38kL3@';$dbname='dbm';
include 'opendb.php';
$backupFile = $dbname . date("Y-m-d-H-i-s") . '.gz'; //oluşturacağımız sql yedeğe tarih mühürü vuruyoruz
$command = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass $dbname | gzip > $backupFile"; //bu satırdaki değişkenleri config.php içerisinde tanımlandığını varsayıyorum varsayıyorum.
system($command);
include 'closedb.php';
?>
Bu yöntemle aldığımız yedekleri phpmyadmin ile rahatlıkla geri yükleyebiliriz.
Yöntem 3
Phpmyadmin ile veritabanı seçildikten sonra dışa aktar sekmesine tıklanır ve gerekli tercihler yapıldıktan sonra “Git” butonuna tıklanır eğer dosya olarak kaydet seçeneği secilmiş ise karşınıza gelen dialog box dan evet e tıklayarak yedeğinizi almış olursunuz.
Aldığımız yedekleri içe aktar sekmesinden gözata tıklayarak geriyükleme yapabiliriz.
Not:İlk iki yöntemi bir php dosyaya kayıt ettikten sonra cron a bu dosyanın çalıştırılması için bir kural oluşturursak belirlediğimiz periodlarda yedek almamız mümkün.
İyi çalışmalar.
Okan ATABAĞ
Benzer Yazılar
- PHP ile Güvenlik Kodu Oluşturma
- Blocking Unwanted Views
- Resim üzerine yazı yazma
- Değişken boş olup olmadığı kontrolü
- Birleşik Atama Operatörleri
- Resim Genişlik ve Yükseklik Bilgilerini ...
- CKEditor & CKFinder Kurulumu
- PHP Adres Defteri Alma
- PHP Resim Crop
- Site Meta Bilgilerini Çekme














