[:tr]PHP ile MySQL Veritabanı Yedeğini Alma ve Bakım Yapma[:en]Getting and Maintaining a MySQL Database Backup with PHP

  • Yazar: Savaş Dersim Çelik
  • Kategori: PHP
  • Tarih: 28 Nisan 2018
  • 3.301 Görüntülenme
  • Beğenenler: 0 Like
  • 2 Yorum Yorum Yap

[:tr]Merhaba arkadaşlar başlıktanda anlayacağınız gibi bu proje ile sitenizin veri tabanını PHP ile yedeğini alabilir isterseniz bakım işlemi yaptırabilirsiniz. Yedek almak için artık illa veritabanına girmeniz gerekmez.

PHP kullanarak basit ve hızlı MySQL yedekleme / geri yükleme sistemi. Full veritabanı veya bazı tabloların yedeğini alabilirsiniz.

PHP 5.0.5 veya sonraki bir sürümü gerektirir.

Kullanımı

Yedekleme:

Herhangi bir FTP programı ile siteniniz ana dizinine myphp-backup.php dosyasını yükleyin daha sonra http://www.example.com/myphp-backup.php şeklinde sitenize bağlanarak dosyayı çalıştırabilirsiniz.

myphp-backup.php Dosyasını hostunuza atmadan önce ayarlarınızı yapmayı unutmayın.

define("DB_USER", 'your_username');
define("DB_PASSWORD", 'your_password');
define("DB_NAME", 'your_db_name');
define("DB_HOST", 'localhost');

define("BACKUP_DIR", 'myphp-backup-files'); // Comment this line to use same script's directory ('.')
define("TABLES", '*'); // Full backup
//define("TABLES", 'table1, table2, table3'); // Partial backup
define("CHARSET", 'utf8');
define("GZIP_BACKUP_FILE", true); // Set to false if you want plain SQL backup files (not gzipped)

Yedek alınırken yedekleri myphp-backup-files klasöründe myphp-backup-{DB_NAME}-YYYYmmdd-HHMMSS.sql.gz varsayılan ismi ile yedeklemektedir. Örnek yedeklenmiş dosya adı: myphp-backup-files/myphp-backup-daniloaz-20170828-131745.sql.gz

Onarıma:

myphp-restore.php dosyasını ana dizin ve yedekleme dosyanızı myphp-backup-files klasörüne yükleyin. daha sonra http://www.example.com/myphp-restore.php şeklinde sitenize bağlanarak dosyayı çalıştırabilirsiniz.

myphp-restore.php Dosyasını hostunuza atmadan önce ayarlarınızı yapmayı unutmayın.

/**
 * Define database parameters here
 */
define("DB_USER", 'your_username');
define("DB_PASSWORD", 'your_password');
define("DB_NAME", 'your_db_name');
define("DB_HOST", 'localhost');
define("BACKUP_DIR", 'myphp-backup-files'); // Comment this line to use same script's directory ('.')
define("BACKUP_FILE", 'your-backup-file.sql.gz'); // Script will autodetect if backup file is gzipped or not based on .gz extension
define("CHARSET", 'utf8');

 [:en]Perform simple and fast MySQL backup/restore using PHP. You can use it to dump a full database or only some tables.

It requires PHP 5.0.5 or later.

Usage

Backup:

Simply upload myphp-backup.php script to the DocumentRoot directory of your web application via FTP or other method and run it accessing http://www.example.com/myphp-backup.php. You can also run it from command line.

Don’t forget to set your database access credentials before performing any backup editing these lines from myphp-backup.php script:

/**
 * Define database parameters here
 */
define("DB_USER", 'your_username');
define("DB_PASSWORD", 'your_password');
define("DB_NAME", 'your_db_name');
define("DB_HOST", 'localhost');

define("BACKUP_DIR", 'myphp-backup-files'); // Comment this line to use same script's directory ('.')
define("TABLES", '*'); // Full backup
//define("TABLES", 'table1, table2, table3'); // Partial backup
define("CHARSET", 'utf8');
define("GZIP_BACKUP_FILE", true); // Set to false if you want plain SQL backup files (not gzipped)

By default backup files will be called myphp-backup-{DB_NAME}-YYYYmmdd-HHMMSS.sql.gz and stored in myphp-backup-filessubdirectory. Example output backup file: myphp-backup-files/myphp-backup-daniloaz-20170828-131745.sql.gz

Restore:

Upload myphp-restore.php script to your DocumentRoot directory and your backup file to a subdirectory called myphp-backup-files. Then simply run the script accessing http://www.example.com/myphp-restore.php or from command line.

You can change the backup filename and subdirectory editing these lines. Don’t forget to set your user credentials too!

/**
 * Define database parameters here
 */
define("DB_USER", 'your_username');
define("DB_PASSWORD", 'your_password');
define("DB_NAME", 'your_db_name');
define("DB_HOST", 'localhost');
define("BACKUP_DIR", 'myphp-backup-files'); // Comment this line to use same script's directory ('.')
define("BACKUP_FILE", 'your-backup-file.sql.gz'); // Script will autodetect if backup file is gzipped or not based on .gz extension
define("CHARSET", 'utf8');

 


[:]
						

Konu İle İlgili Soru, Görüş ve Öneriler


Hasan CODEK

1 Mayıs 2018

Merhaba, güzel bir çalışma olmuş. Yedek almak için her defasında veritabanına bağlanmaya kullanıcı adı şifre girmeye gerek yok artık. Teşekkürler…

Mehmet

4 Mayıs 2019

Güzel bir yedekleme sınıfı. Aktif olarak bende bu sınıfı kullanıyorum. Yedeklemeyi ister tam, ister parçalı olarak yapmak mümkün. Ayrıca yedek dosyasının .sql uzantılı yada gzip formatında almakta mümkün. Şu anda internet ortamında en sağlıklı çalışan php ile mysql yedekleme class’larının başında geldiğini düşünüyorum.

Soru, Görüş ve Önerileriniz için Yazın!