Tutorial Java - Backup dan Restore Database MySQL dengan Java

adanya fasilitas backup dan restore database pada aplikasi yang kita bangun tentu akan menjadikan program kita menjadi lebih user friendly sebab terkadang memang perlu membuat suatu backup dari data yang kita miliki untuk mencegah terjadinya hal-hal yang tidak diinginkan semisal data corrupt atau yang lain. Fasilitas backup data akan membantu user untuk membuat salinan dari database yang disimpan dalam sebuah file *.sql sedangkan fasilitas restore memungkinkan user untuk mengembalikan data dari hasil backup ke database.

Pada contoh ini saya masih menggunakan contoh projek sebelumnya. Untuk membuat proses bacukp sendiri dapat kita lakukan dengan memanggil file binary dari mysql yaitu mysqldump.exe. karena disini saya menggunakan xampp maka lokasi file mysqldump-nya berada di C:\xampp\mysql\bin pada folder tersebut terdapat bebeapa file binary termasuk mysqldump.exe adapun coding backup yang sering saya gunakan seperti berikut
Process p = null;
 try {
 Runtime runtime = Runtime.getRuntime();
// Jika MySQL Tanpa Password
 p = runtime.exec("C:/xampp/mysql/bin/mysqldump -uroot --add-drop-database -B nama_database -r " + "D:/" + "backup" + ".sql");
// Jika MySQL Menggunakan Password
 p = runtime.exec("C:/xampp/mysql/bin/mysqldump -uroot -ppass_mysql --add-drop-database -B nama_database -r " + "D:/" + "backup_restore" + ".sql");
int processComplete = p.waitFor();

if (processComplete == 0) {
System.out.println("Backup created successfully!");
} else {
System.out.println("Could not create the backup");
}
} catch (Exception e) {
e.printStackTrace();
}
Sedikit berbeda dengan backup untuk proses restore jika menggunakan file mysql.exe yang berada di folder C:\xampp\mysql\bin adapun coding untuk proses restore ini sebagai berikut
String dbUserName="root";
String dbPassword="";
// lokasi dan file sql hasil backup
String source="D:/backup.sql";
String[] restoreCmd = new String[]{"C:/xampp/mysql/bin/mysql ", "--user=" + dbUserName, "--password=" + dbPassword, "-e", "source " + source};
 
        Process runtimeProcess;
        try {
 
            runtimeProcess = Runtime.getRuntime().exec(restoreCmd);
            int processComplete = runtimeProcess.waitFor();
 
            if (processComplete == 0) {
                System.out.println("Restored successfully!");
            } else {
                System.out.println("Could not restore the backup!");
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }

Posting Komentar