Home > Articles > Backup mysql dengan Delphi

Backup mysql dengan Delphi

Hm… sempat berpikir bagaimana cara membackup mysql dengan delphi.

skenarionya begini… ada suatu menu dengan nama backup database. ketika menu itu diklik system akan membackup database dari aplikasi tersebut.

setelah berpikir sejenak dan browsing2x di internet, akhirnya muncul pemikiran untuk menggunakan dos prompt yang ada diwindows. Ini berarti delphi akan menjalankan fungsi native backup dari mysql melalui fungsi pada delphi yang digunakan untuk berinteraksi dengan dos prompt.

fungsi tersebut adalah ShellExecute. Berikut script yang digunakan untuk membackup database mysql via menu :

procedure TfrmMain.BackupDatabase1Click(Sender: TObject);
begin
ShellExecute(Handle, ‘open’, PChar(‘cmd.exe’), PChar(‘/c mysqldump -h’ + <DBHost> + ‘ -u’ + <DBUser> + ‘ -p’ +
<DBPassword> + ‘ -K -R –triggers ‘ + <DBName> + ‘ > c:\database.sql’), nil, SW_SHOW);

CommonDlg.ShowMessage(‘Database berhasil dibackup dan disimpan di c:\database.sql’);
end;

semoga bermanfaat….

  1. rizal
    June 9, 2010 at 4:02 am

    error mass pada fungsi shellexecute , kenapa ya ??

  2. Ratno Tri Ahmadi
    August 10, 2011 at 2:49 pm

    restrorenya boss?

    • August 11, 2011 at 1:20 am

      untuk restore tinggal pake fungsi restorenya mysql, sintaknya seperti ini “mysql -h[db_host] -u[db_user] -p[db_pass] [nama_db] < [nama_file]"

  3. August 19, 2011 at 10:02 pm

    lam kenal gan..
    ane punya sintak backup mysql dari Delphi tapi ada masalah yaitu : jika size file backup yang sebenarnya hanya 88 Kb, setelah pake sintak ane menjadi 89 Kb. Jadi size nya selalu ditambah 1 Kb hasil ya.

    Tolong bantuan agan semua…šŸ™‚

    ini sintak nya :

    procedure TForm1.Button1Click(Sender: TObject);
    var
    F: TextFile;
    param: String;
    begin
    if SaveDialog1.Execute then
    begin
    AssignFile(F,’C:\BackUp.bat’);
    Rewrite(F);
    param:=’mysqldump -uroot -proot puskesmas > “‘+SaveDialog1.FileName+'”‘;
    Write(F,param);
    CloseFile(F);
    WinExec(‘C:\BackUp.bat’,SW_NORMAL);
    ShellExecute(Handle,’open’,’ C:\BackUp.bat’,nil,nil,SW_NORMAL);
    end;
    end;

  4. August 19, 2011 at 10:37 pm

    hasil dari cara backup diatas ditak bisa direstor…šŸ˜¦

  5. June 3, 2012 at 6:32 am

    gan kalau dari XAMPP server gimana caranya gan?

  6. FC No Name Required
    June 22, 2012 at 1:30 am

    kalo restore
    ADOQuery.Close;
    ADOQuery.SQL.LoadFromFile(‘db.sql’);
    ADOQuery.Open;

  7. wahyu
    August 19, 2012 at 4:00 pm

    saya sudah coba.. tapi kok ukuran databsenya 0 kb. kenapa yach?? Makasi sebelumnya..

  8. masKha
    September 6, 2012 at 2:22 pm

    tambahin

    uses ShellAPI; {karena fungsi ShellExecute itu mengambil dari API Windows}

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: