Tweet

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
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

İlgili Olabilecek Makaleler


Yorumlar (1)





gfbgenc
15 Mart 2010 14:11
thank you very much :)

Ziyaretçi olarak yorum yazamazsınız. Üye olmak için tıklayın Üye iseniz giriş yapın.



MENÜ » FORUM
Menü » Takip et
RSS Facebook Twitter Friendfeed
Sık Kullanılanlar Google Yahoo Live
Menü » Paylaş
E-Posta ile gönder Twitter Facebook Friendfeed
Buzz Stumbleupon Delicious Digg