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.sql
Perintah 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
<?php
$dbUser = "...";
$dbPass = "...";
$dbName = "...";
$dbHost = "localhost";
mysql_connect($dbHost, $dbUser, $dbPass);
mysql_select_db($dbName);
?>
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
<?php
// membaca file koneksi.php
include "koneksi.php";
echo "<h1>Dump MySQL</h1>";
echo "<h3>Nama Database: ".$dbName."</h3>";
echo "<h3>Daftar Tabel</h3>";
// query untuk menampilkan semua tabel dalam database
$query = "SHOW TABLES";
$hasil = mysql_query($query);
// menampilkan semua tabel dalam form
echo "<form method='post' action='proses.php'>";
echo
while ($data = mysql_fetch_row($hasil))
{
echo "<tr><td><input type='checkbox' name='tabel[]' value='".$data[0]."'></td><td>".$data[0]."</td></tr>";
}
echo "</table><br>";
echo "<input type='submit' name='submit' value='Backup Data'>";
echo "</form>";
?>
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.
proses.php
<?php
// membaca file koneksi.php
include "koneksi.php";
// membaca tabel-tabel yang dipilih dari form
$tabel = $_POST['tabel'];
// proses untuk menggabung nama-nama tabel yang dipilih
// sehingga menjadi sebuah string berbentuk 'tabel1 tabel2 tabel3 ...'
$listTabel = "";
foreach($tabel as $namatabel)
{
$listTabel .= $namatabel." ";
}
// membentuk string command menjalankan mysqldump
// diasumsikan file mysqldump terletak di dalam folder C:\AppServ\MySQL\bin
$command = "C:\AppServ\MySQL\bin\mysqldump -u".$dbUser." -p".$dbPass." ".$dbName." ".$listTabel." > ".$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?
Related articles :
- Script PHP GIS Google Map Seperti Wikimapia dengan...
- Script Notifikasi Seperti Facebook dengan jQuery d...
- Script PHP Membuat Aplikasi Chatting sederhana
- Membuat GIS (Google Map Marker Multi Icon) dengan ...
- KONSEP DASAR WEB GIS
- Konsep Sistem Informasi Geografis (SIG)
- konfigurasi Gammu dengan HP nokia berbagai TIPE
- Memasang ReCaptcha di PHP
- Script PHP Untuk Backup MySQL
Artikel Terkait di Bawah posting
- Script PHP Untuk Membuat Web Thumbnail / Screen Shot
- Update Data Suatu Tabel Bersumber Dari Tabel Lain Dengan Query SQL
- Mencari Tingkat Text Similarity dengan PHP
- Contoh Relasi SQL antar tabel
- Plugin Auto Forward SMS Inbox (Sms Gateway)
- Membuat barcode dengan php (Script)
- Membuat Website Dinamis Dengan PHP & MySQL
- Script Sent Email localhost ke Gmail
- Cara Import Database mysql di Phpmyadmin
- Pasang Social Bookmark | jQuery
- Membuat User Online dengan PHP
- Hit Counter Sederhana dengan PHP
- Membuat kamus Teknologi Informasi dengan PHP
- Script wall facebook gratis dengan php dan jquery
- Script PHP dan MySQL untuk kirim SMS Via Web
- Script Notifikasi Seperti Facebook dengan jQuery dan PHP
- Script PHP Membuat Aplikasi Chatting sederhana
- Membuat GIS (Google Map Marker Multi Icon) dengan jQuery, PHP dan MySQL
- Memasang ReCaptcha di PHP
- Script php Penyingkat URL Shortener dengan API Google
- Pasang Chat Yahoo Messenger di Website
- Pencarian 2 Periode (Awal - Akhir) Menggunakan DatePicker jQuery
- Script Upload Gambar Menggunakan Ajax
- Membuat loading ala facebook dengan PHP
- Script PHP Untuk Membuat Web Thumbnail / Screen Shot
- Script PHP Menampilkan Artikel Terkait
- Script php untuk membuat grafik
- Mencari Tingkat Text Similarity dengan PHP
- Problem Warning/Error Timezone di PHP
- Membuat Login Alternatif (Open ID) dengan Php
- Membuat barcode dengan php (Script)
- Membuat Website Dinamis Dengan PHP & MySQL
- Mencegah Data NULL di MySQL
- Memasang star rating di blogspot
- Script Sent Email localhost ke Gmail
- Cara Import Database mysql di Phpmyadmin
- Pasang Social Bookmark | jQuery
- Membuat User Online dengan PHP
- Hit Counter Sederhana dengan PHP
- Membuat kamus Teknologi Informasi dengan PHP
- Script wall facebook gratis dengan php dan jquery
- Script PHP dan MySQL untuk kirim SMS Via Web
- Script Notifikasi Seperti Facebook dengan jQuery dan PHP
- Script PHP Membuat Aplikasi Chatting sederhana
- Membuat GIS (Google Map Marker Multi Icon) dengan jQuery, PHP dan MySQL
- Memasang ReCaptcha di PHP
- Script php Penyingkat URL Shortener dengan API Google
- Pasang Chat Yahoo Messenger di Website
- Script PHP Untuk Membuat Web Thumbnail / Screen Shot
- Update Data Suatu Tabel Bersumber Dari Tabel Lain Dengan Query SQL
- Script PHP Menampilkan Artikel Terkait
- Script php untuk membuat grafik
- Mencari Tingkat Text Similarity dengan PHP
- Cara install Wammu untuk/for ubuntu
- Contoh Relasi SQL antar tabel
- Problem Warning/Error Timezone di PHP
- Membuat Login Alternatif (Open ID) dengan Php
- Plugin Auto Forward SMS Inbox (Sms Gateway)
- Membuat barcode dengan php (Script)
- Membuat Website Dinamis Dengan PHP & MySQL
- Script PHP Update Status TWITTER via SMS
- Cara Import Database mysql di Phpmyadmin
- Pasang Social Bookmark | jQuery
- Optimalkan SEO on page tingkatin pagerank
- Membuat User Online dengan PHP
- Hit Counter Sederhana dengan PHP
- Membuat kamus Teknologi Informasi dengan PHP
- Script wall facebook gratis dengan php dan jquery
- Script PHP dan MySQL untuk kirim SMS Via Web
- Script PHP GIS Google Map Seperti Wikimapia dengan jQuery dan Mysql
- Script Notifikasi Seperti Facebook dengan jQuery dan PHP
- Memasang ReCaptcha di PHP
4 comments:
mantaf tutorialnya,...
^_^
terimakasih,sangat membentu sekali gan
gan kalo mysqldump nya ada di xampp\mysql\bin\mysqldump bukan di appserv, tinggal ubah aja kan? tp kok dy ada error stlh di download, gini errornya
Warning: fopen(kuisioner.sql) [function.fopen]: failed to open stream: No such file or directory in C:\xampp\htdocs\Kuisioner\config\b.php on line 29
Warning: filesize() [function.filesize]: stat failed for kuisioner.sql in C:\xampp\htdocs\Kuisioner\config\b.php on line 30
Warning: fread() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Kuisioner\config\b.php on line 30
Warning: fclose() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Kuisioner\config\b.php on line 31
bantuin ya gan
gan tanya...itu berhasil dibackup tapi klo di.import kok hasilnya
Warning: fread(): Length parameter must be greater than 0 in C:\xampp\htdocs\coba\proses.php on line 30
Posting Komentar