[post_ad]

Backup dan Restore Database Mysql Menggunakan Java

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
Ganti variable name untuk setiap object berikut (untuk mempermudah coding) :
  • 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");
        jFileChooser1.setFileFilter(filter);
        int returnVal = jFileChooser1.showSaveDialog(this);
        if(returnVal == jFileChooser1.APPROVE_OPTION) {
           txtLokasiBackup.setText(jFileChooser1.getSelectedFile().getPath()+".sql");
        }
btnLokasiRestore (tombol pilih restore):
        FileNameExtensionFilter filter = new FileNameExtensionFilter(
            "sql file", "sql");
        jFileChooser1.setFileFilter(filter);
        int returnVal = jFileChooser1.showOpenDialog(this);
        if(returnVal == jFileChooser1.APPROVE_OPTION) {
           txtLokasiRestore.setText(jFileChooser1.getSelectedFile().getPath());
        }
 btnBackup (Tombol backup) :
         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{
            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");
        }
Keterangan :
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

Previous
Next Post »

2 komentar

Click here for komentar
20 December 2014 at 10:23 ×

izin nyimak gan,, terima kasih... :) mudah2n bermanfaat...

Reply
avatar
APRIANSYAH
admin
9 January 2015 at 18:21 ×

kalau pakai vb 6.0 dan xampp gimana ia gan? mohon bantuannya.

Reply
avatar

Silhakan memberi Komentar, Kritik, atau Saran ConversionConversion EmoticonEmoticon