Backup/Restore Database MySQL dengan ShellExecute

Baik restore ataupun backup pada database MySQL, selalu dapat dilakukan dengan dua cara: memakai password atau tidak memakai password. Sementara untuk melaksanakan perintah backup/restore tadi, dapat dilakukan dengan berbagai cara. Cara yang akan saya jelaskan berikut ini dapat dilakukan dengan mengetikkan perintah lewat console. Cara console seperti ini dapat ditiru lewat Delphi dengan memanfaatkan perintah: ShellExecute yang di deklarasikan di unit ShellApi. Sehingga jangan lupa menyertakan ShellApi di Uses.

BACKUP DATABASE
perintah backup database pada MySQL menggunakan file bawaan dari MySQL, yaitu: mysqldump.exe. Biasanya file ini ditempatkan di direktori C:\Program Files\MySQL\MySQL Server 5.2\bin.

Penulisan perintah lewat ShellExecute tanpa password ke MySQL adalah sebagai berikut:

ShellExecute(self.Handle, PCHAR('open'), 
    PCHAR('C:\Program Files\MySQL\MySQL Server 5.2\bin\mysqldump.exe'),
    PCHAR('-uNamaUser NamaServer -R -r "C:\TempatBackup.sql" NamaDatabase'), 
    PCHAR('C:\Program Files\MySQL\MySQL Server 5.2\bin'),
    SW_HIDE);

Sedangkan jika memakai password adalah sebagai berikut:

ShellExecute(self.Handle, PCHAR('open'), 
    PCHAR('C:\Program Files\MySQL\MySQL Server 5.2\bin\mysqldump.exe'),
    PCHAR('-uNamaUser -pPasswordUser NamaServer -R -r "C:\TempatBackup.sql" NamaDatabase'), 
    PCHAR('C:\Program Files\MySQL\MySQL Server 5.2\bin'),
    SW_HIDE);

Contoh:
Jika anda akan mem-backup database pada server localhost dengan nama database
Apotik, User dan password untuk masuk ke server adalah : root root123, dan nama file
backup Apotik.sql, bentuk perintahnya adalah sebagai berikut:

ShellExecute(self.Handle, PCHAR('open'),
    PCHAR('C:\Program Files\MySQL\MySQL Server 5.2\bin\mysqldump.exe'),
    PCHAR('-uroot -proot123 -h localhost -R -r "D:\Apotik.sql" Apotik'),
    PCHAR('C:\Program Files\MySQL\MySQL Server 5.2\bin'),
    SW_SHOW);

RESTORE DATABASE
perintah backup database pada MySQL menggunakan file bawaan dari MySQL, yaitu: mysql.exe Biasanya file ini ditempatkan di direktori C:\Program Files\MySQL\MySQL Server 5.2\bin

Penulisan perintah lewat ShellExecute adalah sebagai berikut:

ShellExecute(self.Handle,pchar('open'),
PCHAR('mysql'),
PCHAR('-uNamaUser -h NamaServer -e "drop database if exists NamaDatabase; '+
'create database NamaDatabase;use NamaDatabase;\. c:\your file"'),nil,SW_HIDE);

sedangkan jika memakai password

ShellExecute(self.Handle,pchar('open'),
PCHAR('mysql'),
PCHAR('-uNamaUser -pPasswordUser -h NamaServer -e "drop database if exists NamaDatabase; '+
'create database NamaDatabase;use NamaDatabase;\. c:\your file"'),nil,SW_HIDE);


Contoh:
Jika anda akan mem-restore database pada server localhost dengan nama database
Apotik, User dan password untuk masuk ke server adalah : root root123, dan nama file
backup Apotik.sql, bentuk perintahnya adalah sebagai berikut:

ShellExecute(self.Handle,pchar('open'),
  PCHAR('mysql'),
  PCHAR('-uroot -proot123 -h localhost -e "drop database if exists Apotik; '+
  'create database Apotik;use Apotik;\. D:\Apotik.sql"'),nil,SW_HIDE);
 

Backup/Restore Database MySQL dengan ShellExecute Rating: 4.5 Diposkan Oleh: Good Dreamer

4 comments:

  1. terima kasih mas atas tutorialnya, saya sudah praktekkan yang backup data. saya eksekusi dari delphi. ketika diklik tombol backup sekilas muncul tampilan command prompt tp setelah saya lihat folder D: kok file backupnya tidak ada ya?

    BalasHapus
  2. backup banyak database gmn ? trims

    BalasHapus
    Balasan
    1. Setiap database mempunyai karakteristik yang berbeda-beda, sehingga algoritmanya sebanyak database yang dibuat. Kalau mau general, bisa saja dengan query kemudian disimpan sebagai XML, tetapi prosesnya lebih lambat jika jumlah data besar. Tetapi tetap saja untuk koneksi databasenya sesuai dengan databasenya

      Hapus
  3. saya coba untuk backupnya udah bisa tapi kenapa buat restore nya gk ke ubah ya ke mysql nya?

    BalasHapus

Diberdayakan oleh Blogger.