Mysql veri tabanı yedeklemede üç yöntemden bahsedebiliriz bunlar;
- PHP ile mysqle veritabanı yedekleme sorgusu göndererek yedek dosya sı oluşturmak.
- mysqldump komutunu system() fonksiyonu ile shell de çalıştırmak (güvenlik nedeni ile çoğu hosting firması system()fonksiyonunu yasaklar)
- 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
CODE:
<?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
CODE:
<?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
CODE:
<?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.
Dia
okanatabag@gmail.com
14 Ekim 2007 15:23