Melalui artikel ini saya akan mencoba memaparkan bagaimana cara
membuat sendiri script PHP untuk keperluan backup MySQL menggunakan
fasilitas mysqldump. Meskipun kita dapat dengan mudah membackup (dump)
data-data yang tersimpan di MySQL menggunakan phpMyAdmin, tapi mungkin
diantara Anda ingin membuat sendiri script untuk backup sebagai salah
satu fitur aplikasi web yang sedang Anda buat.
Berikut ini tampilan script backup data MySQL yang nanti akan kita buat
Pada tampilan di atas, kita bisa memilih tabel-tabel yang kita ingin
backup dengan melakukan check pada pilihan yang disediakan. Setelah
tombol ‘Backup Data’ diklik, maka kita bisa mendownload file backupnya.
Seperti yang saya sampaikan di atas bahwa untuk keperluan backup data
(dumping) MySQL ini nanti kita akan manfaatkan fitur mysqldump yang
sudah tersedia di MySQL. Hanya saja mysqldump ini bentuknya adalah
executable file yang harus dijalankan melalui shell. Anda dapat melihat
file ini di dalam folder mysql/bin. Jika Anda menggunakan AppServ, maka
mysqldump ini terletak di folder C:\AppServ\mysql\bin
Terus… bagaimana cara menjalankan mysqldump ini? Berikut ini perintahnya
mysqldump -u[user] -p[password] [namadb] [tabel1 tabel2 ...] > filebackup.sqlPerintah di atas digunakan untuk melakukan backup
tabel1
, tabel2
, … dst yang ada di database bernama ‘namadb
‘. Hasil backup tersebut disimpan di file bernama ‘filebackup.sql
‘. Sedangkan [user]
dan [password]
itu adalah user dan password untuk koneksi ke mysqlnya.OK.. sekarang kita mulai membuat script PHP nya. Pertama kita siapkan dahulu script untuk koneksi ke MySQL nya
koneksi.php
Berikutnya kita buat script untuk menampilkan daftar tabel yang ada di database yang kita sudah kita tentukan di
$dbName
pada file koneksi.php di atas. Daftar tabel ini nanti kita letakkan dalam sebuah form.Untuk menampilkan semua tabel dalam sebuah database, gunakan query SQL
SHOW TABLES;Ini dia script untuk menampilkan daftar tabel dalam formnya
dump.php
Dump MySQL"; echo ""; ?> Terakhir… kita buat script proses.php untuk memproses backupnya. Dalam proses.php ini nanti, terdapat 2 bagian perintah, yaitu bagian untuk proses dump (backup) data serta bagian untuk proses download file hasil backup. Di sini diasumsikan nama file hasil backup adalah sama dengan nama databasenya.Nama Database: ".$dbName."
"; echo "Daftar Tabel
"; // query untuk menampilkan semua tabel dalam database $query = "SHOW TABLES"; $hasil = mysql_query($query); // menampilkan semua tabel dalam form echo "
proses.php
".$dbName.".sql"; // perintah untuk menjalankan perintah mysqldump dalam shell melalui PHP exec($command); // bagian perintah untuk proses download file hasil backup. header("Content-Disposition: attachment; filename=".$dbName.".sql"); header("Content-type: application/download"); $fp = fopen($dbName.".sql", 'r'); $content = fread($fp, filesize($dbName.".sql")); fclose($fp); echo $content; exit; ?>Sederhana bukan membuatnya? Mudah-mudahan artikel di atas berguna bagi Anda yang ingin membuat sistem backup data MySQL. Nantikan artikel berikutnya di blog ini mengenai cara restore data dari file hasil backup (dumping). Sabar dulu ya….
EmoticonEmoticon