Membuat Aplikasi Backup Restore Database MySQL dengan Delphi

 

Assalamu'alaikum semua...
kali ini saya akan berbagi cara membuat aplikasi Backup dan Restore Database MySql menggunakan Delphi, pada kali ini saya menggunakan RAD Studio 10.4 dan MySQL 5.1

sebelumnya kita bahas sedikit kegunaan dari membuat aplikasi ini, #curhat jadi berdasarkan pengalaman saya yang suka oprek system sering kali mengalami hal yang seharusnya tidak terjadi yaitu LUPA BACKUP DATABASE sementara system windows tidak bisa di jalankan lagi, dan terpaksa instal ulang windows nya. 

Sebeneranya masih bisa diselamatkan jika punya tool seperti Live Windows, Hire Boot, Windows Tiny atau live distro linux. tapi berhubung saya tidak pernah menyiapkan hal itu jadi kepaksa buat install ulang langsung. dari pengalaman ini lah akhirnya berinisiatif membuat aplikasi backup restore database mysql.

Source : Octa Cinta Delphi Blog

Oke cukup untuk curhatnya kita langsung saja yaps ^_^

Bahan yang di butuhkan

  • Delphi (disini saya menggunakan RAD Studio 10.4)
  • MySql 5.1 (link download ada di bawah)

Silahkan buka Delphi dan buat sebuah aplikasi baru, kemudian siapkan 

Form Restore Database

kalian bisa membuat Proses Backup dan Restore dalam 1 form saja atau di bedakan form sesuai selera aja ya yang penting aplikasi nya jalan. untuk contoh saya membuat dalam 2 form

  • 3 Buah Button
    • Button Dir = untuk mencari lokasi file yang akan di backup
    • Button Proses = untuk memproses backup
    • Button Close = untuk keluar dari aplikasi
       
  • 1 Editbox
    • nantinya akan menampilkan lokasi/letak file backup kita
  • 1 Open Dialog (disini saya menggunakan devexpress open dialog, bisa menggunakan open dialog bawan)
untuk editbox kalian atur pada Properties - Text = [kosongkan]
untuk tombol/button silahkan atur Properties Name dan Captions nya bebas ya seusai selera
untuk Open Dialog silahkan atur
  • DefaultExt : sql
  • Filter : *.sql
  • InitialDir : bisa kalian isi D:\[folder] atau kalian mau kosongkan agar nanti bisa bebas milih
  • Name : (sesuaikan saja)
     

oke sekarang masuk ke bagian codingnya

Tambahkan ShellApi pada uses cek gambar diatas yaps ^_^

Script Tombol Dir

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
dxopen.Execute;
edit1.Text:=dxopen.FileName;
end;
Script Tombol Proses

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
ShellExecute(self.Handle,pchar('open'),
  PCHAR('mysql'),
  PCHAR('-uUSER -pPASSWORD -h localhost -e "drop database if exists NAMADATABASE; '+
  'create database NAMADATABASE;use NAMADATABASE;\. "'+edit1.Text+'""'),nil,SW_HIDE);
if MessageDlg('Proses Import file '+' '+dxopen.FileName+' Berhasil ?',mtCustom,[mbYes,mbCancel], 0)=mrYes then
    BEGIN
      close;
    END;
end;

silahkan ubah USER, PASSWORD dan NAMADATABASE yang di bold dengan database kalian

Contoh : 

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
ShellExecute(self.Handle,pchar('open'),
  PCHAR('mysql'),
  PCHAR('-uroot -pijinmasuk123 -h localhost -e "drop database if exists dbinventory23; '+
  'create database dbinventory23;use dbinventory23;\. "'+edit1.Text+'""'),nil,SW_HIDE);
if MessageDlg('Proses Import file '+' '+dxopen.FileName+' Berhasil ?',mtCustom,[mbYes,mbCancel], 0)=mrYes then
    BEGIN
      close;
    END;
end;

jika kalian tidak menggunakan Password untuk database maka scriptnya seperti di ini

ShellExecute(self.Handle,pchar('open'),
PCHAR('mysql'),
PCHAR('-uUSER -h localhost -e "drop database if exists Database; '+
'create database Database;use Database;\. "'+edit1.Text+'""'),nil,SW_HIDE);
Contoh :

ShellExecute(self.Handle,pchar('open'),
PCHAR('mysql'),
PCHAR('-uroot -h localhost -e "drop database if exists dbinventory23; '+
'create database dbinventory23;use dbinventory23;\. "'+edit1.Text+'""'),nil,SW_HIDE);

Hasilnya akan seperti ini


Form Backup Database

Untuk Form Backup hampir sama dengan form restore yang sebelumnya kita buat
 
Yang membedakan hanya pada komponen Save Dialog dan Open Dialog nya, jika tadi pada form Restore kita menggunakan Komponen Open Dialog nah sekarang pada backup form menggunakan Save Dialog.
 
 
Script nya 
jika kalian membuat 2 form berbeda antara Backup dan Restore silahkan tambahkan lagi ShellApi pada uses yaps untuk form backup ini.
 

Script Tombol Dir

procedure TFBackupDB.SpeedButton1Click(Sender: TObject);
begin
dxsave.Execute;
edit1.Text:=dxsave.FileName;
end;
Script Tombol Proses Jika Menggunakan Password

procedure TFBackupDB.BitBtn1Click(Sender: TObject);
begin
//Script Execute
ShellExecute(self.Handle, PCHAR('open'),
    PCHAR('C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump.exe'),
    PCHAR('-uUser -pPassword -h localhost -R -r "'+edit1.Text+'" Database'),
    PCHAR('C:\Program Files\MySQL\MySQL Server 5.1\bin'),
    SW_SHOW);
    Application.MessageBox('Database Berhasil Di Backup','Info', mb_Ok + Mb_ICONINFORMATION);
end;

Contoh : 

procedure TFBackupDB.BitBtn1Click(Sender: TObject);
begin
//Script Execute
ShellExecute(self.Handle, PCHAR('open'),
    PCHAR('C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump.exe'),
    PCHAR('-uroot -pijinmasuk123 -h localhost -R -r "'+edit1.Text+'" dbinventory23'),
    PCHAR('C:\Program Files\MySQL\MySQL Server 5.1\bin'),
    SW_SHOW);
    Application.MessageBox('Database Berhasil Di Backup','Info', mb_Ok + Mb_ICONINFORMATION);
end;

Script Tombol Proses Jika Tanpa Password

ShellExecute(self.Handle, PCHAR('open'),
    PCHAR('C:\Program Files\MySQL\MySQL Server 5.2\bin\mysqldump.exe'),
    PCHAR('-uUser NamaServer -R -r "'+edit1.Text+'" Database'),
    PCHAR('C:\Program Files\MySQL\MySQL Server 5.2\bin'),
    SW_HIDE);
Contoh :

ShellExecute(self.Handle, PCHAR('open'),
    PCHAR('C:\Program Files\MySQL\MySQL Server 5.2\bin\mysqldump.exe'),
    PCHAR('-uroot NamaServer -R -r "'+edit1.Text+'" dbinventory23'),
    PCHAR('C:\Program Files\MySQL\MySQL Server 5.2\bin'),
    SW_HIDE);

Oke sekarang kalian bisa menjalankan aplikasi tad, seperti yang sudah saya sampaikan sebelumnya teman-teman bisa menggabungkan 2 Form BackUp dan Resetore menjadi 1 Form saja dan di buat secantik mungkin biar g bosan
 
Tampilan Sebelum di Run
 
Tampilan Setelah di Run
 
Semoga Bermanfaat ^_^


Post a Comment for "Membuat Aplikasi Backup Restore Database MySQL dengan Delphi"