Anasayfa » PHP » PHP | Mysql Yedek (Backup) Alma

PHP | Mysql Yedek (Backup) Alma

11 Nisan 2010  |  Yazar: coders  |  Yorum Yok  |  30 kez okundu
Facebook'da Paylaş Twitter'da Paylas FriendFeed'de Paylaş 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Ğ

Facebok'ta Paylaş

Benzer Yazılar

Etiketler: , , , , , , , , , , , , , ,
avatar

Ahmet Ates

http://www.coders.gen.tr/ 25 yasindayim. Z.K.U Biyomedikal Cihaz Teknolojisi bölümünü okudum, Programlama dilleri arasindan ilgilendiğim ve profesyonel olarak hizmet verdiğim dil Fortran'dir. Web olarak Php,Css ve hazır sistemler olarak Wordpress ve Vbulletine hayranlık besliyorum.

Bu yazı hakkında birşeyler demek ister misiniz?

RSS üzerinden bu yazıya yapılan yorumları takip edin.

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir.

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Programlama