Backup dan Restore database sudah tidak asing lagi terdengar bagi seorang programmer. bahkan disetiap Software aplikasi yang dibuat harus memiliki backup dan restore karena keutunganya sangat banyak. backup digunakan untuk mengcopy atau menyalin seluruh data yang ada didatabase sedangkan restore untuk mengembalikan data yang pernah dibackup.
Pada contoh ini saya akan memberikan contoh backup dan restore untuk database MySQL menggunakan java progamming. Sebelumnya silahkan desain interface untuk menu backup dan restore seperti gambar dibawah ini :
![]() |
| Desain Backup & Restore MySQL |
- Tombol pilih lokasi backup ----> btnLokasiBackup
- jTextField lokasi backup ----> txtLokasiBackup
- Tombol pilih lokasi restore ----> btnLokasiRestore
- jTextField lokasi restore ----> txtLokasiRestore
- Tombol backup ----> btnBackup
- Tombol restore ----> btnRestore
Tambahkan object jFileChooser di other componets yang terdapat dimenu pallet. Object jFileChooser ini digunakan untuk menampilkan Show Save dan Show Open yang diperlukan untuk menyimpan file backup dan memilih file restore
![]() |
| jFileChooser Dimeu other componets |
Setelah didesain semua, sebelum masuk ke coding kita harus pahami terlebih dahulu konsep backup dan restore untuk database MySQL. disini saya contohkan cara backup dan restore database MySQL secara manual :
- Backup
mysqldump -u user_name_mysql -p password_user_mysql nama_database > nama_file.sql
- Restore
mysql -u user_name_mysql -p password_user_mysql nama_database < nama_file.sql
Setelah melihat cara backup dan restore secara manual seperti diatas, berarti yang kita butuhkan nanti saat aplikasi backup database ini running, kita harus panggil runtime/shell cmd untuk menjalankan perintah backup dan restore. setelah anda pahami kita bisa mulai untuk coding, silahkan tambah coding berikut sesuai dengan object :
Import Komponen library di class ini :
import javax.swing.JOptionPane;
import javax.swing.filechooser.FileNameExtensionFilter;
btnLokasiBackup (tombol pilih backup) :
FileNameExtensionFilter filter = new FileNameExtensionFilter("sql file", "sql");btnLokasiRestore (tombol pilih restore):
jFileChooser1.setFileFilter(filter);
int returnVal = jFileChooser1.showSaveDialog(this);
if(returnVal == jFileChooser1.APPROVE_OPTION) {
txtLokasiBackup.setText(jFileChooser1.getSelectedFile().getPath()+".sql");
}
FileNameExtensionFilter filter = new FileNameExtensionFilter(btnBackup (Tombol backup) :
"sql file", "sql");
jFileChooser1.setFileFilter(filter);
int returnVal = jFileChooser1.showOpenDialog(this);
if(returnVal == jFileChooser1.APPROVE_OPTION) {
txtLokasiRestore.setText(jFileChooser1.getSelectedFile().getPath());
}
try{
if(txtLokasiBackup.getText().isEmpty()){
JOptionPane.showMessageDialog(null, "Pilih lokasi backup terlebih dahulu");
} else{
Process runtimeProcess = Runtime.getRuntime().exec("C:\\xampp\\mysql\\bin\\mysqldump -hlocalhost -uroot javamarketdcc -r "+"\""+txtLokasiBackup.getText()+"\"");
int prosesSukses=runtimeProcess.waitFor();
if(prosesSukses==0){
JOptionPane.showMessageDialog(null, "Backup database Sukses");
} else {
JOptionPane.showMessageDialog(null, "Backup database gagal");
}
}
}catch(Exception e){
JOptionPane.showMessageDialog(null,"Backup database gagal, Periksa kembali");
}
btnRestore (Tombol Restore) :
try{Keterangan :
if(txtLokasiRestore.getText().isEmpty()){
JOptionPane.showMessageDialog(null, "Pilih lokasi restore terlebih dahulu");
} else{
String database="javamarketdcc";
String user="root";
String password="";
String[] kata = new String[]{"c:\\xampp\\mysql\\bin\\mysql", database, "-u" + user, "-e", " source "+txtLokasiRestore.getText()};
Process runtimeProcess=Runtime.getRuntime().exec(kata);
int prosesSukses=runtimeProcess.waitFor();
if(prosesSukses==0){
JOptionPane.showMessageDialog(null, "Restore database Sukses");
} else {
JOptionPane.showMessageDialog(null, "Restore database gagal");
}
}
}catch(Exception e){
JOptionPane.showMessageDialog(null,"Restore database gagal, Periksa kembali");
}
Untuk tulisan yang warna merah silahkan disesuaikan dengan lokasi tempat penginstalan database MySQL di komputer anda. Selamat mencoba semoga berhasil, jika tidak berhasil silahkan tinggalkan komentar untuk berdiskusi. Untuk project lengkapnya dapat anda download disini


2 komentar
Click here for komentarizin nyimak gan,, terima kasih... :) mudah2n bermanfaat...
Replykalau pakai vb 6.0 dan xampp gimana ia gan? mohon bantuannya.
ReplySilhakan memberi Komentar, Kritik, atau Saran ConversionConversion EmoticonEmoticon