Meskipun Anda dapat menjalankan perintah cadangan dari PHP, perintah tersebut sebenarnya tidak ada hubungannya dengan PHP. Ini semua tentang MySQL.
Saya sarankan menggunakan utilitas mysqldump untuk membuat cadangan database Anda. Dokumentasinya dapat ditemukan di sini :http://dev.mysql. com/doc/refman/5.1/en/mysqldump.html .
Penggunaan dasar mysqldump adalah
mysqldump -u user_name -p name-of-database >file_to_write_to.sql
Anda kemudian dapat memulihkan cadangan dengan perintah seperti
mysql -u user_name -p <file_to_read_from.sql
Apakah Anda memiliki akses ke cron? Saya sarankan membuat skrip PHP yang menjalankan mysqldump sebagai tugas cron. Itu akan menjadi seperti
<?php
$filename='database_backup_'.date('G_a_m_d_y').'.sql';
$result=exec('mysqldump database_name --password=your_pass --user=root --single-transaction >/var/backups/'.$filename,$output);
if(empty($output)){/* no output is good */}
else {/* we have something to log the output here*/}
Jika mysqldump tidak tersedia, artikel menjelaskan metode lain, menggunakan SELECT INTO OUTFILE
dan LOAD DATA INFILE
perintah. Satu-satunya koneksi ke PHP adalah Anda menggunakan PHP untuk terhubung ke database dan menjalankan perintah SQL. Anda juga dapat melakukannya dari baris perintah program MySQL, monitor MySQL.
Ini cukup sederhana, Anda menulis file SQL dengan satu perintah, dan memuat/mengeksekusinya ketika saatnya untuk memulihkan.
Anda dapat menemukan dokumen untuk dipilih ke dalam outfile di sini (cukup cari halaman untuk outfile). LOAD DATA INFILE pada dasarnya adalah kebalikan dari ini. Lihat di sini untuk dokumen.