Home > MySQL, Visual Basic > Backup dan Restore Database MySQL dari Aplikasi

Backup dan Restore Database MySQL dari Aplikasi

Artikel kali ini hanya posting ulang dari jawaban saya yang ada di artikel Membuat paket instalasi vb + mysql dengan NSIS, karena masih ada beberapa pengunjung yang bertanya tentang masalah ini.

Untuk proses backup kita cukup menggunakan tool bawaan MySQL yaitu mysqldump dan untuk restorenya menggunakan mysql.

Adapun perintah dasar untuk melakukan backup dan restore adalah sebagai berikut :

' backup
mysqldump -uUSER_NAME -pUSER_PASSWORD --routines NAMA_DATABASE > LOKASI_FILE_BACKUP.SQL

' restore
mysql -uUSER_NAME -pUSER_PASSWORD NAMA_DATABASE < LOKASI_FILE_BACKUP.SQL

parameter –routines ditambahkan jika database mempunyai fungsi/trigger

Sekarang tinggal kita siapkan kode berikut :

Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

Private Const SYNCHRONIZE       As Long = &H100000
Private Const INFINITE          As Long = &HFFFF

Private Sub execCommand(ByVal cmd As String)
    Dim result  As Long
    Dim lPid    As Long
    Dim lHnd    As Long
    Dim lRet    As Long

    cmd = "cmd /c " & cmd
    result = Shell(cmd, vbHide)

    lPid = result
    If lPid <> 0 Then
        lHnd = OpenProcess(SYNCHRONIZE, 0, lPid)
        If lHnd <> 0 Then
            lRet = WaitForSingleObject(lHnd, INFINITE)
            CloseHandle (lHnd)
        End If
    End If
End Sub

kemudian tinggal panggil di masing-masing proses (backup dan restore)

Dim cmd As String

Private Sub cmdBackup_Click()
    Screen.MousePointer = vbHourglass
    DoEvents

    cmd = Chr(34) & "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump" & Chr(34) & " -uroot -prahasia --routines --comments nama_database > c:\nama_database.sql"
    Call execCommand(cmd)

    Screen.MousePointer = vbDefault
    MsgBox "done"
End Sub

Private Sub cmdRestore_Click()
    Screen.MousePointer = vbHourglass
    DoEvents

    cmd = Chr(34) & "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql" & Chr(34) & " -uroot -prahasia --comments nama_database < c:\nama_database.sql"
    Call execCommand(cmd)

    Screen.MousePointer = vbDefault
    MsgBox "done"
End Sub

kode diatas dengan asumsi direktori bin MySQL ada di folder “C:\Program Files\MySQL\MySQL Server 5.1\bin”.

Selamat mencoba :)

About these ads
  1. Nanang Purnomo
    May 5, 2011 at 2:40 am | #1

    asslm,

    salam kenal sebelumnya,
    tanya pak… saya mau buat koneksi dari netbeans ke mysql tapi xampp server nya ada dikomputer lain :

    jdbc:mysql://192.168.1.100:3306/dataku

    tapi muncul pesan :
    cannot establish a connection to jdbc:mysql://192.168.1.100:3306/ldp using com.mysql.jdbc.Driver (Access denied for user ’root’@’192.168.1.1′ (using password: NO))

    permasalahannya di driver javanya atau di mysqlnya pak?
    mohon bantuannya pak?

    wslm,

    • May 5, 2011 at 3:01 am | #2

      Waalaikumussalam

      Klo ini kayaxnya masalah privilage om, mungkin user rootnya belum diizinkan untuk login dari komputer lain, defaultnya biasanya hanya bisa login di komputer lokal.

  2. Andris
    May 8, 2011 at 5:06 am | #3

    Apa kabar Kang. Kang kalo mau tanya neh…

    kalo mau ngubah server yang ada di dsn mysql lewat form vb gimana yah?
    Akang punya link / tutorial contohnya ga?

    Thanks banget ya kang.
    Salam

    • May 9, 2011 at 3:00 am | #4

      Coba manfaatkan utility myodbc-installer bawaan dari mysql odbc connection, contoh penggunaannya bisa di lihat disini cek komentar pertama.

      • bobby
        June 20, 2011 at 9:52 am | #5

        Dicoba teman fungsi create DNS ini, saya sudah gunakan

        Private Sub fungsi_DSN()

        Dim DataSourceName As String
        Dim DatabaseName As String
        Dim Description As String
        Dim DriverPath As String
        Dim DriverName As String
        Dim UserName As String
        Dim Regional As String
        Dim Pswd As String
        Dim Server As String

        Dim intRet As Long
        Dim strDriver As String
        Dim strAttributes As String

        ‘Set atribute
        ‘————————————————–
        DataSourceName = md.db_dsn
        DatabaseName = md.db_name
        Description = “POS Report”
        UserName = md.db_user
        Server = md.db_server
        Pswd = md.db_pswd
        DriverName = “MySQL ODBC 3.51 Driver”

        ‘Coding dibawah ini untuk menghapus DSN
        ‘————————————————–
        ‘Set driver ke MySQL
        strDriver = DriverName
        strAttributes = “DSN = ” & DataSourceName & “” & Chr$(0)
        intRet = SQLConfigDataSource(vbAPINull, ODBC_REMOVE_DSN, _
        strDriver, strAttributes)
        ‘If intRet Then
        ‘MsgBox “DSN Deleted”
        ‘Else
        ‘MsgBox “Delete Failed”
        ‘End If

        ‘Coding dibawah ini untuk membuat DSN baru
        ‘———————————————–
        ‘Set driver ke MySQL
        strDriver = DriverName
        ‘Atribut-atribut yang dibutuhkan dalam ODBC
        strAttributes = “SERVER= ” & Server & “” & Chr$(0)
        strAttributes = strAttributes & “DSN = ” & DataSourceName & “” & Chr$(0)
        strAttributes = strAttributes & “DESCRIPTION= ” & Description & “” & Chr$(0)
        strAttributes = strAttributes & “DATABASE = ” & DatabaseName & “” & Chr$(0)
        strAttributes = strAttributes & “USER = ” & UserName & “” & Chr$(0)
        strAttributes = strAttributes & “PASSWORD = ” & Pswd & “” & Chr$(0)
        intRet = SQLConfigDataSource(vbAPINull, ODBC_ADD_DSN, _
        strDriver, strAttributes)
        If intRet Then
        ‘MsgBox “DSN Created”
        Else
        MsgBox “Create Failed”
        End If
        End Sub

  3. alfwtz
    May 13, 2011 at 4:27 am | #6

    salam kenal.
    1. gmn klo dump record dari tabel yg dipilih dan sesuai pilihan tanggal kemudian di import ke komputer laen yang berisi database yang sama (via flashdiks)?
    2. efektif mana dump data atau membuat tabel penampungan untuk eksport import tabel data seusai pilihan tanggal?
    thanks atas pencerahannya.

    • May 13, 2011 at 5:45 am | #7

      Setau sy om klo dump itu sama seperti ngopy database, hanya ini bedanya dalam bentuk skrip jadi otomatis enggak bisa ngedump berdasarkan range tanggal.

      Klo mau berdasarkan range tanggal ya buat sendiri aja programnya.

      CMIIW

  4. May 24, 2011 at 6:12 pm | #8

    mas thanks atas infonya
    tapi ada satu kendala
    misal si user memilih direktori lain utk menyimpan sql nya
    dan direktori tersebut memiliki spasi, maka akan muncul error dan file sql tidak tercipta

    gimana ya solusinya thanks

    • May 25, 2011 at 3:33 am | #9

      Ya foldernya diapit tanda petik dua (“) menggunakan perintah Chr(34). Ex :

      Private Sub cmdBackup_Click()
          Dim lokasiBackup As String
          
          lokasiBackup = Chr(34) & "c:\backup database mysql\file_backup.sql" & Chr(34)
      End Sub
      
  5. Andris
    May 29, 2011 at 7:44 pm | #12

    Alow kang mau tanya nih..

    1. Gimana caranya untuk merestore database yang benar2 baru. Jadi posisi mysql saat pertama kali install. sintak mana yang dirubah?
    2. Apa beda yah. engine mysql yang install dan yang non install. soalnya aku dah coba cara akang tapi begitu aku klik tombbol restore langsung muncul message box dan data basenya tidak ter-restore.

    Makasih banyak kang. blog ini benar2 sangat membantu.

    • May 30, 2011 at 1:46 am | #13

      Gimana caranya untuk merestore database yang benar2 baru. Jadi posisi mysql saat pertama kali install. sintak mana yang dirubah?

      Tinggal tambahkan parameter –database pada saat backup otomatis di file sqlnya akan ditambahkan perintah CREATE dan USE database

      ' backup
      mysqldump -uUSER_NAME -pUSER_PASSWORD --database --routines NAMA_DATABASE > LOKASI_FILE_BACKUP.SQL
      

      Apa beda yah. engine mysql yang install dan yang non install. soalnya aku dah coba cara akang tapi begitu aku klik tombbol restore langsung muncul message box dan data basenya tidak ter-restore

      Bedanya yg satu dalam format installer sehingga proses instalasi dan konfigurasi lebih mudah (ada interface wizardnya) sedangkan yg non install ya benar harus manual mulai dari proses mengcopy mysqlnya sampai konfigurasi.

  6. Andris
    June 5, 2011 at 11:59 am | #14

    Trus untuk yang databasenya tidak terrestore, kira2 kenapa yah kang?

    • June 6, 2011 at 8:52 am | #15

      Coba perintah restorenya dijalankan dulu om via dos prompt, kan klo gagal biasanya ada pesan erronya jadi proses debugnya lebih gampang

  7. Alan Shufy
    June 13, 2011 at 12:47 pm | #16

    sekalian ach nanya disini juga.
    kalau untuk auto backup bisa ngak kang! apa cukup menggunakan source atau harus ada aplikasi pihak ketiganay??

  8. bobby
    June 20, 2011 at 9:45 am | #18

    mohon tanya, utk fungsi bakup berjalan baik, tp utk fungsi restore nya koq agak masalah ya? file yg aku created dari code backup aku mau restorekan dgn nama database lain dan yg terjadi adalah file backupnya (dari hasil backup) menjadi kosong dan di MySql tidak muncul databse baru yg saya create.

    • June 22, 2011 at 8:30 am | #19

      Perintah backup dan restorenya sama seperti artikel diatas atw udah dimodif om ?
      Klo udah dimodif coba di posting ke sini.

  9. nanang
    July 4, 2011 at 1:40 pm | #20

    Admin :Ya foldernya diapit tanda petik dua (“) menggunakan perintah Chr(34). Ex :

    view source

    setelah saya coba kok gagal terus ya om? backup gagal, tidak ada create file, sepertinya di sini yang ndak bisa ada tanda petik dua result = Shell(cmd, vbHide).

    Tapi anehnya, ketika text cmd saya simpan sebagai file BAT, dan saya eksekusi, berjalan dengan baik.

    Mohon dikoreksi lagi gan pendapat saya heheh, makasih sharingnya.
    print?

    1
    Private Sub cmdBackup_Click()

    2
        Dim lokasiBackup As String

    3
      

    4
        lokasiBackup = Chr(34) & “c:\backup database mysql\file_backup.sql” & Chr(34)

    5
    End Sub

  10. nanang
    July 4, 2011 at 1:59 pm | #21

    “C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqldump” -hlocalhost -uroot –database > “C:\database.sql”

    Contoh bila dimunculkan cmd sebagai berikut juga proses backup dg shell langsung gagal, intinya klo ada chr$(34) di nama folder gagal. Apa bisa di bantu mas? terimakasih

    • July 4, 2011 at 2:28 pm | #22

      Ada yg kurang om dg perintahnya :

      "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqldump" -hlocalhost -uroot --database NAMA_DATEBASE > "C:\database.sql"
      
  11. nanang
    July 4, 2011 at 3:56 pm | #23

    Maaf merpotkan om, apa windows saya ya yang error, saya coba berulang kali tetap gagal backup, mysql versi 5.0,

    “C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqldump” -hlocalhost -uroot –database nama_db > C:\database.sql => yg ini berhasil om

    “C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqldump” -hlocalhost -uroot –database nama_db > “C:\database.sql” => yg ini gagal om

    apa temen2 ada yg ngalami seperti saya? mohon bantuanya, trims…

    Admin :Ada yg kurang om dg perintahnya :

    view source

    print?

    1
    “C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqldump” -hlocalhost -uroot –database NAMA_DATEBASE > “C:\database.sql”

  12. nanang
    July 4, 2011 at 4:09 pm | #24

    Ini coding saya om, apa ada yg salah ya….

    Private Sub cmdBackup_Click()
    Dim lokasiBackup As String
    lokasiBackup = Chr$(34) & “C:\campur aduk\database.sql” & Chr$(34) => ndak mau
    ‘lokasiBackup = “C:\campur aduk\database.sql” => berhasil cuma namanya campur saja, karena folder ada spasi

    Screen.MousePointer = vbHourglass
    DoEvents

    cmd = Chr(34) & “C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump” & Chr(34) & ” -hlocalhost -uroot –database nama_db > ” & lokasiBackup

    Call execCommand(cmd)
    Text1.Text = cmd
    Screen.MousePointer = vbDefault
    MsgBox “done”
    End Sub

    • July 4, 2011 at 4:39 pm | #25

      Dicoba lagi om :

      Private Sub cmdBackup_Click()
          Dim lokasiBackup As String
          
          lokasiBackup = Chr$(34) & "C:\campur aduk\database.sql" & Chr$(34)
          Screen.MousePointer = vbHourglass
          DoEvents
      
          cmd = Chr(34) & "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump" & Chr(34) & " -hlocalhost -uroot --database nama_db > " & lokasiBackup
          
          Call execCommand(cmd)
          Text1.Text = cmd
          Screen.MousePointer = vbDefault
          MsgBox "done"
      End Sub
      
      • nanang
        July 10, 2011 at 2:11 am | #26

        Oke om, trims bantuanya….
        tapi ditempat saya ada dua pc ndak mau semua om, kalo ada spasi nya di buat kaya code om di atas…. akhirnya saya akalin, untuk backup ndak boleh ada spasi pada folder ato nama file.

        lokasiBackup = Chr$(34) & “C:\campur aduk\database.sql” & Chr$(34)

        cmd = Chr(34) & “C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump” & Chr(34) & ” -hlocalhost -uroot –database nama_db > ” & lokasiBackup

  13. nanang
    July 10, 2011 at 7:35 am | #27

    setelah eksekusi dos nya saya ganti vbnormal, akhirnya keliahat bos errornya,

    C:\Program is not recognized as an internal or external command, operable program or batch file.

    Apa temen2 ada yg ngalami gitu? kalo backup nama file ada spasinya? thx

    • July 10, 2011 at 7:43 am | #28

      Emg OS kliennya pake apa om ? klon win 98 perintahnya pake “command” klo win xp keatas pake “cmd”

      • nanang
        July 10, 2011 at 9:07 am | #29

        Admin :
        Emg OS kliennya pake apa om ? klon win 98 perintahnya pake “command” klo win xp keatas pake “cmd”

        mantab om…. makasih berat…. ternyata bisa, betul sesuai saran om…. thx

  14. nanang
    July 10, 2011 at 8:39 am | #30

    Admin :
    Emg OS kliennya pake apa om ? klon win 98 perintahnya pake “command” klo win xp keatas pake “cmd”

    OS windows XP SP2 om, sama saya test juga pake win 7 hasil nya sama. ditempat om bisa ya? di sini saya trial 2 pc ndak mau semua kalo ada spasi om… hehehe apa vb6 nya yang error ya :d

    • July 10, 2011 at 9:17 am | #31

      Bisa kok om, yg jelas semua kode program yg beredar diblog ini sudah melalui tahap testing :D
      Sy udah coba mau pake spasi atw tetap bisa asalkan folder yg ada spasinya diapit tanda petik dua.

  15. abror
    July 20, 2011 at 3:52 am | #32

    sudah saya coba di xp jalan tapi di win 7 kok gak jalan, jadi hang(not responding) kenapa yah pak

    • July 20, 2011 at 7:03 am | #33

      Apa ya ???
      Sy udah coba juga om di win 7 enggak ada masalah

      • abror
        July 21, 2011 at 2:14 am | #34

        sepertinya kode yang di modul execCommand akan mengeksekusi conhost.exe dan mysqldump.exe, file sql yang tercipta tidak bisa dihapus karena dianggap filenya masih dalam keadaan open ini baru saya tahu dari task manager, kira-kira kenapa yah pak

        • July 21, 2011 at 5:43 am | #35

          Coba perintahnya langsung dijalankan di command prompt dulu aja om, berhasil atw enggak ?

  16. Calon Programmer
    July 23, 2011 at 5:53 am | #36

    Gan, saya coba coding dari Agan tapi kq file hasil dumpingnya kosong kenapa y? cara ngatasinya gmn?
    makasih

    • July 23, 2011 at 6:28 am | #37

      Kode diataskan masih mentah om, jadi ada beberapa informasi yg harus dirubah disesuaikan dg kondisi komputer om :
      1. lokasi folder BIN MySQL
      2. nama database
      3. user name dan password

      Klo masih belum berhasil juga, coba langsung dijalankan perintah backupnya di command prompt

  17. August 2, 2011 at 3:37 am | #38

    gan, itu yg execCommand nya manggil kemana yah? gk mau jalan -___- heeeeuhhhhh.. help me gan…

    • August 2, 2011 at 5:21 am | #39

      Ya manggil command yg mau dieksekusi om.
      Emg om manggilnya gimana ? Jangan2x nyopas kode diatas enggak lengkap

      • August 2, 2011 at 6:33 am | #40

        eh berhasil bang.. hehe.. gk jadi maksud saya tadi execCommand itu procedurenya mana, saya kok gk lihat.. eh gk tahunya ada di atas situ.. saya naruhnya di bikin di module tapi gk bisa…
        terus pas sudah done, kok saya bingung ini dimana ditaruhnya file backup-an nya. gk bisa ditaruh di direktori tmpt project saya? saya cari2 kok tdk ada…

        • August 2, 2011 at 8:33 am | #41

          Oke dah case closed ya :D

          • August 2, 2011 at 2:02 pm | #42

            belum gan.. itu file backup-annya kesimpen dmn? kalo pake mysql gk kaya make access y? kan kalo access kesimpen filenya .bak terus biasanya ditaruh di direktori yg sama dgn projectnya.. trus kalo make mysql ini file backup nya ada dmn? terus restorenya gmn?

            • August 4, 2011 at 6:41 am | #43

              Loh bukannya di postingan diatas sudah ada sample kode backup dan restorenya.

              cmd = Chr(34) & "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump" & Chr(34) & " -uroot -prahasia --routines --comments nama_database > c:\nama_database.sql"
              

              Klo contoh diatas ya hasil backupnya ada drive c:

  18. aulia
    August 12, 2011 at 9:10 am | #44

    Mohon tanya, mas kl pas mau restore pingin di bikin flexsibel gmna? jd nnti ada browse file dulu, trus pilih data backup mana yang akan direstore….. mohon bantuan nya. trims

    • August 12, 2011 at 10:18 am | #45

      Om bisa menggunakan komponen Microsoft Common Dialog Control atau fungsi API SHBrowseForFolder

      • August 15, 2011 at 1:56 am | #46

        Om admin numpang tanya coding ini salah dimananya karena direstore tidak jalan..

        Private Sub cmdRestore_Click()
        Dim cmd As String
        Screen.MousePointer = vbHourglass
        DoEvents

        cmd = Chr(34) & txtPath.Text & “\mysql” & Chr(34) & ” -u” & strUsername & ” -p” & strPass & ” –comments ” & strDSN & ” < " & Trim(Me.txtFile.Text)
        Debug.Print cmd
        Call execCommand(cmd)

        Screen.MousePointer = vbDefault
        MsgBox "done", vbInformation, "Restore database : " & strDSN
        dengan hasil debug cmd
        "E:\Mysql\bin\mysql" -uroot -p1234 –comments db_inv < E:\Inventory\db_inv.sql

        mohon pencerahannya..
        proses back lancar2 saja om..

        thanks u ya om..

        • August 15, 2011 at 5:58 am | #47

          db_inv udah ada belom om di mysqlnya ?

    • August 15, 2011 at 1:29 am | #48

      Ini om saya kasih codenya.. untuk restore agar browse dahulu..
      lengkap dari simpan mau dibrowse dulu juga… Ijin posting ya Om admin

      Option Explicit
      Dim strNamaFile As String

      Private Sub cmdSave_Click()
      strNamaFile = “”
      With Me.dlgBuka
      .FileName = “”
      .InitDir = App.Path
      .Filter = “File (*.sql)|*.sql”
      .ShowSave

      strNamaFile = .FileName

      If strNamaFile “” Then
      Me.txtFile.Text = strNamaFile
      Else
      Me.txtFile.Text = “”
      End If
      End With
      End Sub
      Private Sub cmdBackup_Click()
      Dim cmd As String
      Screen.MousePointer = vbHourglass
      DoEvents
      cmd = Chr(34) & txtPath.Text & “\mysqldump” & Chr(34) & ” -u” & strUsername & ” -p” & strPass & ” –database ” & strDSN & ” > ” & Trim(Me.txtFile.Text)
      Call execCommand(cmd)

      Screen.MousePointer = vbDefault
      MsgBox “done”, vbInformation, “Backup database : ” & strDSN
      End Sub

      Private Sub cmdBrowse_Click()
      strNamaFile = “”
      With Me.dlgBuka
      .FileName = “”
      .InitDir = App.Path
      .Filter = “File (*.sql)|*.sql”
      .ShowOpen

      strNamaFile = .FileName

      If strNamaFile “” Then
      Me.txtFile.Text = strNamaFile
      Else
      Me.txtFile.Text = “”
      End If
      End With
      End Sub

      Private Sub cmdRestore_Click()
      Dim cmd As String
      Screen.MousePointer = vbHourglass
      DoEvents

      cmd = Chr(34) & txtPath.Text & “\mysql” & Chr(34) & ” -u” & strUsername & ” -p” & strPass & ” –comments ” & strDSN & ” < " & Trim(Me.txtFile.Text)
      Debug.Print cmd
      Call execCommand(cmd)

      Screen.MousePointer = vbDefault
      MsgBox "done", vbInformation, "Restore database : " & strDSN
      End Sub

      • August 15, 2011 at 1:40 am | #49

        iyan :
        Ini om saya kasih codenya.. untuk restore agar browse dahulu..
        lengkap dari simpan mau dibrowse dulu juga… Ijin posting ya Om admin
        Option Explicit
        Dim strNamaFile As String
        Private Sub cmdSave_Click()
        strNamaFile = “”
        With Me.dlgBuka
        .FileName = “”
        .InitDir = App.Path
        .Filter = “File (*.sql)|*.sql”
        .ShowSave
        strNamaFile = .FileName
        If strNamaFile “” Then
        Me.txtFile.Text = strNamaFile
        Else
        Me.txtFile.Text = “”
        End If
        End With
        End Sub
        Private Sub cmdBackup_Click()
        Dim cmd As String
        Screen.MousePointer = vbHourglass
        DoEvents
        cmd = Chr(34) & txtPath.Text & “\mysqldump” & Chr(34) & ” -u” & strUsername & ” -p” & strPass & ” –database ” & strDSN & ” > ” & Trim(Me.txtFile.Text)
        Call execCommand(cmd)
        Screen.MousePointer = vbDefault
        MsgBox “done”, vbInformation, “Backup database : ” & strDSN
        End Sub
        Private Sub cmdBrowse_Click()
        strNamaFile = “”
        With Me.dlgBuka
        .FileName = “”
        .InitDir = App.Path
        .Filter = “File (*.sql)|*.sql”
        .ShowOpen
        strNamaFile = .FileName
        If strNamaFile “” Then
        Me.txtFile.Text = strNamaFile
        Else
        Me.txtFile.Text = “”
        End If
        End With
        End Sub
        Private Sub cmdRestore_Click()
        Dim cmd As String
        Screen.MousePointer = vbHourglass
        DoEvents
        cmd = Chr(34) & txtPath.Text & “\mysql” & Chr(34) & ” -u” & strUsername & ” -p” & strPass & ” –comments ” & strDSN & ” < ” & Trim(Me.txtFile.Text)
        Debug.Print cmd
        Call execCommand(cmd)
        Screen.MousePointer = vbDefault
        MsgBox “done”, vbInformation, “Restore database : ” & strDSN
        End Sub

        Me.dlgBuka <== Microsoft Common Dialog Control

  19. aulia
    August 15, 2011 at 8:37 am | #51

    mksh om, izin sedot ya om :)….

  20. aulia
    August 18, 2011 at 6:44 am | #53

    om nanya lagi ya om… om sya pengen munculin form (tiap akhir bulan otomatis muncul), saya gunakan ini untuk mereset no urut transaksi di mulai dari nol lagi…… ( sya dh coba beberapa variasi dtpicker, tp belum berhasil juga….) tolong ya om…

    • August 18, 2011 at 11:53 am | #54

      Coba seperti ini om :

      Private Function IsAkhirBulan() As Boolean
          IsAkhirBulan = (Day(Now) = Day(DateSerial(Year(Now), Month(Now) + 1, 0)))
      End Function
      
      Private Sub cmdTes_Click()
          If IsAkhirBulan Then
              ' TODO : tampilkan form reset no transaksi
          End If
      End Sub
      
  21. ndah
    August 19, 2011 at 9:57 am | #55

    mas numpang nanya ya.. sya pke mysql 6.0, ini code di backup nya:
    Private Sub cmd_backup_Click()
    Dim cmd As String
    Screen.MousePointer = vbHourglass
    DoEvents
    cmd = “C:\Program Files\MySQL\MySQL Server 6.0\bin\mysqldump -hlocalhost -uroot –database apotik > c:\nama_database.sql”
    Call execCommand(cmd)
    Screen.MousePointer = vbDefault
    MsgBox “Done, Back up succes.!”, vbOKOnly

    End Sub

    . backup nya sukses tapi data nya kosong mas. kenapa ya??

    • August 19, 2011 at 1:56 pm | #56

      MySQL Versi 6 ???
      Kayaxnya di GA Rilisnya baru nyampe versi 5.xx deh ?.

      Coba perintah backupnya langsung dijalankan di command prompt biar gampang ngelacak errornya.

  22. ndah
    August 22, 2011 at 8:31 am | #57

    mas, untuk backup dan restore nya bisa mkasih,.
    tapi yang restore itu bisa hanya kalau database nya sudah ada y???. saya pengen restore di mysql yang baru (no database) , tp ga berhasil..

    note: saya dah ikutin saran mas di koding backup nya ditambahin -database

    koding di restore nya:

    Private Sub cmd_restore_Click()
    Dim cmd As String
    Screen.MousePointer = vbHourglass
    DoEvents
    cmd = Chr(34) & “C:\Program Files\MySQL\MySQL Server 6.0\bin\mysql” & Chr(34) & ” -uroot -p190999 –comments apotik < c:\backup.sql"
    Debug.Print cmd
    Call execCommand(cmd)
    Screen.MousePointer = vbDefault
    MsgBox "Done, Restore database succes.!", vbOKOnly
    End Sub

    help ya mas…. trims

  23. Anam
    August 24, 2011 at 7:38 am | #59

    Mhon bantuan gan..
    perintah restore database:
    “c:\xampp\mysql\bin\mysqldump” -uroot –comments test < C:\test.sql
    sukses tp tabelnya kosong.

    • August 29, 2011 at 10:19 am | #60

      Klo perintahnya langsung dijalankan di command prompt hasilnya gimana om ?

      • azharry
        October 3, 2011 at 4:34 pm | #61

        Malem om dosen,
        sy juga alami masalah yang sama, hasil backup kosong. sy membackup dari komputer server, user sy grant all. tapi ketika saya coba pake cmd propt
        mysqldump -h192.168.1.5 -uuser -ppasswd database > C:\dt_bckup.sql
        hasilnya bagus…. kira2 kendalanya dimana pak dosen.
        atas pencerahanya sy ucapkan terima kasih dan di doain supaya pak dosen makin bertambah rizkinya. amiiiinnnnn.

        • October 4, 2011 at 11:33 am | #62

          Yg jelas sy sudah coba dan berhasil dengan syarat :
          1. User yg digunakan bisa login dari mesin lain
          2. User tersebut diberi hak untuk mengakses db tersebut

  24. aku
    August 25, 2011 at 5:20 am | #63

    Om, tanya…

    berikut script saya waktu restore

    cmd = Chr(34) & “C:\xampp\mysql\bin\mysql” & Chr(34) & ” -uroot -p12345 dbmahkota < " & Chr(34) & lokasirestore & Chr(34)

    hasilnya tidak ada error tetapi database tetap kosong ….
    jika nilai dari variabel cmd diatas saya execute manual di cmd.exe hasilnya sukses..lancar jaya :D

    Ada masukan Om

  25. August 29, 2011 at 10:24 am | #64

    Belum om, harusnya klo dicommand prompt sukses di program juga sukses

  26. August 30, 2011 at 12:32 pm | #65

    OM MINTA TAMBAHIN SCRIPT YANG PAKE PROGRESBAR DUNK OM SAAT PROSESNYA BACKUP N RESTORENYA..
    KAYANYA BISA LEBIH KEREN..
    TOLONG YA OM.. :)

    • September 4, 2011 at 5:45 am | #66

      Klo ini agak susah om, soalnya sy juga udah lupa fungsi API untuk menangkap proses yang sedang terjadi dan menampilkan dalam bentuk progress :D

  27. September 6, 2011 at 6:29 pm | #67

    klo dah inget mohon pencerahannya ya om.. :)

  28. galih
    October 16, 2011 at 3:51 am | #69

    pak dosen yang saya juga masalahanya sama kayak yang di atas, databasenya kosong, tpi ketika di jalanakan di cmd success,,
    gimana ya ??
    mohon pencerahanya…

    • October 20, 2011 at 6:04 am | #70

      D’oh banyak yg nemu kasus gini ya :D

  29. cepz
    October 20, 2011 at 1:03 am | #71

    om admin, sy mo backup dan restore DB di server dari aplikasi. mohon bantuannya ya, thanks beratz…

    • October 20, 2011 at 6:06 am | #72

      Udah dicoba belum om contoh kode diatas ?

  30. cepz
    October 21, 2011 at 12:40 am | #73

    uda, berhasil create file, tp 0 bytes… client server pengaruh ga? ga perlu masukin alamat server?

    • October 24, 2011 at 1:00 pm | #74

      Klo beda komputer harus disebutkan alamat komputernya dengan menambahkan parameter -h:

      mysqldump -uUSER_NAME -pUSER_PASSWORD -hIP_ADDRESS NAMA_DATABASE > LOKASI_FILE_BACKUP.SQL
      
  31. Mugi
    December 14, 2011 at 3:44 pm | #75

    Mas Admin, mohon bantuannya, masalahnya sama seperti yang lainnya :D

    saya udah buat codingnya seperti berikut :

    cmd = Chr(34) & lokasi & “\mysqldump” & Chr(34) & ” –user=root –password= namadatabase > C:\database_backup.sql”

    disini lokasi merupakan letak mysqldump yg telah saya pindahkan ke folder tersebut (lokasi), dan coding tersebut sukses Mas :D

    tapi saya ingin meletakan script databasenya (.sql) disebuah folder yg memakai spasi jd saya rubah ke:

    cmd = Chr(34) & lokasi & “\mysqldump” & Chr(34) & ” –user=root –password= namadatabase > ” & Chr(34) & “C:\letak backup\database_backup.sql” & Chr(34)

    tapi setelah dijalankan ga bisa Mas :(

    salahnya dimana ya Mas? dan apa Mas punya tambahan agar saat dieksekusi printah CMD nya kelihatan dan tidak langsung hilang.

    Terima Kasih Mas… :)

    • December 14, 2011 at 3:57 pm | #76

      Seharusnya dengan menambahkan perintah Chr(34) sudah menyelesaikan masalah folder yg ada spasinya.
      Coba nilai cmdnya didebug.print trus hasilnya langsung dijalankan dicommand prompt

      • Mugi
        December 14, 2011 at 4:34 pm | #77

        Ada yg aneh mas, codingnya kan ga jalan, terus dibawah coding td saya tambahin :

        Open “C:\perintah.txt” For Output As #1
        Print #1, Tab(1); cmd
        Close #1

        jadi perintah cmdnya kesimpan dalam perintah.txt, tapi setelah saya jalanin script cmd yg udah kesimpan di perintah.txt td ke command prompt malah jalan mas perintah Backupnya :( ???????

        gimana nih Mas? jadi tambah pusing…

  32. azharry
    December 14, 2011 at 8:28 pm | #78

    gimana kalo gini…

    cmd = Chr(34) & lokasi & “\mysqldump” & Chr(34) & ” –user=root –password= namadatabase > ” & Chr(34) & “C:\letak” & Chr(34) & “backup\database_backup.sql” & Chr(34)

    • Mugi
      December 16, 2011 at 9:31 am | #79

      tetap ga bisa mas azharry, lagian klo chr(34) nya jadi ada 5, berarti kutipnya juga 5 dong mas… hemm kayanya mesti balik pake cara lama, nyimpen ke (.bat) dulu :(

      • December 19, 2011 at 1:07 pm | #80

        Tambahkan perintah “cmd /c”, jadi revisi skripnya :

        cmd = "cmd /c " & Chr(34) & lokasi & "\mysqldump" & Chr(34) & " –user=root –password= namadatabase > " & Chr(34) & "C:\letak backup\database_backup.sql" & Chr(34)
        
  33. jastro
    December 16, 2011 at 1:06 am | #81

    maaf pak mau tanya sedikit nih, proses yang anda jelaskan itu kan dengan syarat harus meng-install mysql ke komputer yang sama dengan aplikasi vb-nya ya, kalo misal ingin buat backup dan restore dari komputer client yang tidak ada mysqlnya bagaimana?? (mysql terinstall di komputer server dengan SO Slackware)
    terima kasih atas penjelasannya.

    • December 19, 2011 at 12:46 pm | #82

      Tinggal tambahkan parameter -h (host), ex :

      mysqldump -uUSER_NAME -pUSER_PASSWORD -hIP_ADDRESS NAMA_DATABASE > LOKASI_FILE_BACKUP.SQL
      
  34. agie
    January 5, 2012 at 7:18 pm | #83

    Mas Klo di vb.net’a gmn mas..
    soal’a backup dan restore perlu bnget mas diprogram yang di bt..
    mohon bntuan’a ya mas..

  35. January 6, 2012 at 2:49 pm | #84

    Mas admin, Kok Proses Backup ya lama bgt ya terus gak jadi …. tapi klw saya jalanin lwt cmd lancar aja mas, kenapa klw lwt vb dia gk bisa ya mas ….????? dia gak ada error cuma proses terus bisa sampai 2 jam’an …..?

    • January 7, 2012 at 1:12 pm | #85

      Coba posting kesini kodenya om, kalo restorenya g mana?

      • January 9, 2012 at 9:52 am | #86

        Udah mas admin, ternyata saya backup dan restore ya masih guna’in user default ya, jadi password ya masih kosong, pas sya buat user baru eh, ternyata bisa …..mksh mas atas info nya…:)

  36. January 13, 2012 at 2:28 pm | #88

    assalamu’alaikum, salam kenal kang admin….

    maaf kang saya mau merepotkan neh……..(maklum baru belajar, jadinya pusing deh)
    saya mu nanya neh, kalau mengkoneksikan “JAVA(TM,SE Development Kit 6 Update 4) dengan MySQL Server 5.0″ apa ada aplikasi ke-3 atau tidak ?…

    masalahnya; komputer abis diinstall ulang, kemudian di install MySQLnya dan konfigurasi wizard sampai di execute itu error;
    1. ‘(x) Start Service’ : “cannot create windows service for MySQL. error: 0″
    2. konfigurasi bisa berhasil kalau pas dipilihan ‘Please set the windows option’ >Service Namenya : bukan MySQL tapi ‘MySQL4′ atau MySQL yang selanjutnya.
    3. untuk mengimport file database itu yang “ext.sql” ya kang, soalnya ada backupan yg ber ext.sql?
    4. bagaimana cara mengimport file databasenya, file databasenya ada di direktori (d:), dan caranya dengan masuk ke ‘Command Line Client’ ya kang?

    sekali lagi mohon dimaklum kang saya baru belajar………
    mohon bantuanya……..
    maturnuhun…..

  37. January 13, 2012 at 3:52 pm | #89

    Maman :
    assalamu’alaikum, salam kenal kang admin….
    maaf kang saya mau merepotkan neh……..(maklum baru belajar, jadinya pusing deh)
    saya mu nanya neh, kalau mengkoneksikan “JAVA(TM,SE Development Kit 6 Update 4) dengan MySQL Server 5.0″ apa ada aplikasi ke-3 atau tidak ?…
    masalahnya; komputer abis diinstall ulang, kemudian di install MySQLnya dan konfigurasi wizard sampai di execute itu error;
    1. ‘(x) Start Service’ : “cannot create windows service for MySQL. error: 0″
    2. konfigurasi bisa berhasil kalau pas dipilihan ‘Please set the windows option’ >Service Namenya : bukan MySQL tapi ‘MySQL4′ atau MySQL yang selanjutnya.
    3. untuk mengimport file database itu yang “ext.sql” ya kang, soalnya ada backupan yg ber ext.sql?
    4. bagaimana cara mengimport file databasenya, sedangkan filenya ada di direktori (d:), dan caranya dengan masuk ke ‘Command Line Client’ ya kang?
    sekali lagi mohon dimaklum kang saya baru belajar………
    mohon bantuanya……..
    maturnuhun…..

    • January 29, 2012 at 6:58 pm | #90

      Klo untuk koneksi java ke mysql tinggal download java connectornya.

      Untuk kasus yg kedua sudah banyak yg membahas solusinya disini, jadi tinggal dites aja satu2x :D

  38. drr9891@gmail.com
    February 1, 2012 at 1:34 am | #91

    kang numpang nanya.. itu dibikin project sama form baru kh kaga kang??

    • February 1, 2012 at 6:53 am | #92

      Klo untuk uji coba mungkin pake project baru aja, klo udah oke baru digabung dg project yg udah ada

  39. dani
    February 1, 2012 at 1:39 am | #93

    mas admin Backup dan Restore Database MySQL itu harus buat project dan form baru ngak…
    misalkan dibuat project sama form baru contoh tampilan form kaya apa sama apa aja yg dibutuhkan…
    trims

    • February 1, 2012 at 6:54 am | #94

      Karena pertanyaanya mirip dg pertanyaan sebelumnya, maka jawabannya juga sama dg jawaban sebelumnya :D

  40. March 6, 2012 at 9:33 am | #95

    oom..ni koding saya…sukses sih, tp 0 byte a.k.a kosong…
    Private Sub cmdBackup_Click()
    Screen.MousePointer = vbHourglass
    DoEvents
    cmd = Chr(34) & “D:\xampp\mysql\bin\mysqldump” & Chr(34) & ” -hlocalhost –uroot -database LESTARI-PRODUKSI > D:\MySQLDB\BackUp-Restore\BackUp\BackUp_Tanggal_” & Format(Now, “yyyy-MMM-dd”) & “.sql”
    Call execCommand(cmd)
    Screen.MousePointer = vbDefault
    Wait.Show
    MsgBox “Done”
    Wait.Hide
    End
    End Sub
    -
    -
    salahnya dimana yah??

    • March 9, 2012 at 3:39 pm | #96

      Coba kodenya direvisi berdasarkan komentar sy yg ke #80 diatas om.

  41. ahmad7802
    March 28, 2012 at 10:12 am | #97

    Om aku ada modul backup MySql seperti ini bisa di kasih penjalasannya ga ?

    Option Explicit
    
    'Translate the literals if you want...
    Const MSG_01 = "Respaldo creado por: "      'created by
    Const MSG_02 = "Base datos: "               'database name
    Const MSG_03 = "Fecha/Hora: "               'Data and time
    Const MSG_04 = "DD/MM/YY HH:MM:SS"          'Your prefered format to display dates
    Const MSG_05 = "DBMS: MySQL v"
    Const MSG_06 = "Estructura de la tabla "    'Table structure
    Const MSG_07 = "Datos de la tabla "         'Table data
    Const MSG_08 = "Fin del Respaldo: "         'End of backup
    
    Public Sub MySQLBackup(ByVal strFileName As String, cnn As ADODB.Connection)
    '   strFileName contains the filename where you want to backup to go...
    '       It will overwrite the file if it exists...
    '   cnn is the current conection with the database...
        On Error Resume Next
        
        Dim rss As ADODB.Recordset
        Dim rssAux As ADODB.Recordset
        
        Dim x As Long, i As Integer
        
        Dim strTableName As String
        Dim strCurLine As String
        Dim strBuffer As String
        Dim strDBName As String
        
        x = FreeFile
        Open strFileName For Output As x
        
        Print #x, ""
        Print #x, "#"
        
        Print #x, "# " & MSG_01 & App.Title & " v" & App.Major & "." & App.Minor & "." & App.Revision
        
        'Looking for the database name
        strDBName = Mid(cnn.ConnectionString, InStr(cnn.ConnectionString, "DATABASE=") + 9)
        strDBName = Left(strDBName, InStr(strDBName, ";") - 1)
        Print #x, "# " & MSG_02 & strDBName
        
        Set rss = New ADODB.Recordset
        Set rssAux = New ADODB.Recordset
        
        'Looking for the version of MySQL
        Print #x, "# " & MSG_03 & Format(Now, MSG_04)
        rss.Open "show variables like 'version';", cnn
        If Not rss.EOF Then
            Print #x, "# " & MSG_05 & rss.Fields(1)
        End If
        rss.Close
        
        'Preventing errors by foreign key violation during the restoring process
        Print #x, "#"
        Print #x, ""
        Print #x, "SET FOREIGN_KEY_CHECKS=0;"
        Print #x, ""
        Print #x, "DROP DATABASE IF EXISTS `" & strDBName & "`;"
        Print #x, "CREATE DATABASE `" & strDBName & "`;"
        Print #x, "USE `" & strDBName & "`;"
        
        strTableName = ""
    
        With rss
            .Open "SHOW TABLE STATUS", cnn
    
            'For each table...
            Do While Not .EOF
                strTableName = .Fields.Item("Name").Value
                
                With rssAux
                    'Log its structure
                    .Open "SHOW CREATE TABLE " & strTableName, cnn
                    
                    Print #x, ""
                    Print #x, "#"
                    Print #x, "# " & MSG_06 & strTableName & ""
                    Print #x, "#"
                    
                    Print #x, .Fields.Item(1).Value & ";"
                    
                    .Close
                    
                End With
    
                '... and its data
                With rssAux
                    .Open "SELECT * FROM " & strTableName & "", cnn
                    Print #x, ""
                    Print #x, "#"
                    Print #x, "# " & MSG_07 & strTableName & ""
                    Print #x, "#"
                    Print #x, "lock tables `" & strTableName & "` write;"
    
                    If Not .EOF Then
                        Print #x, "INSERT INTO `" & strTableName & "` VALUES "
                        
                        Do While Not .EOF
                        
                            'Iterate throught the fields and append them to the SQL statement...
                            strCurLine = ""
                            For i = 0 To .Fields.Count - 1
                                strBuffer = .Fields.Item(i).Value
                                
                                If .Fields.Item(i).Type = 131 Then
                                    strBuffer = Replace(Format(strBuffer, "0.00"), ",", ".")
                                End If
                                
                                'Some safe replacements...
                                strBuffer = Replace(strBuffer, "\", "\\")
                                strBuffer = Replace(strBuffer, "'", "\'")
                                strBuffer = Replace(strBuffer, Chr(10), "")
                                strBuffer = Replace(strBuffer, Chr(13), "\r\n")
                                
                                If strCurLine = "" Then
                                    strCurLine = strCurLine & ", "
                                End If
                                strCurLine = strCurLine & "'" & strBuffer & "'"
                            Next i
                            .MoveNext
                            
                            strCurLine = "(" & strCurLine & ")"
                            If .EOF Then
                                Print #x, strCurLine & ";"
                            Else
                                Print #x, strCurLine & ","
                            End If
                        Loop
                        
                    End If
                    
                    .Close
                End With
                
                Print #x, "unlock tables;"
                Print #x, "#--------------------------------------------"
                
                .MoveNext
            Loop
            
            'Setting the DB to its normal behavior...
            Print #x, ""
            Print #x, "SET FOREIGN_KEY_CHECKS=1;"
            Print #x, ""
            Print #x, "# " & MSG_08 & Format(Now, MSG_04)
            
            .Close
        End With
        
        Close #x
    End Sub
    
    Public Sub MySQLRestore(ByVal strFileName As String, cnn As ADODB.Connection)
        '   strFileName contains the filename of the backup...
        '   cnn is the current conection with the database...
        
        Dim lngTotalBytes As Long, lngCurrentBytes As Long
        Dim x As Integer, strCurLine As String, strAux As String
        Dim blnPassLines As Boolean
        Dim blnAnalizeIt As Boolean
        
        x = FreeFile
        
        On Error GoTo ErrDrv
        
        Open strFileName For Input As #x
        lngTotalBytes = LOF(x)
        
        blnPassLines = False
        Do While Not EOF(x)
            Line Input #x, strCurLine
            lngCurrentBytes = lngCurrentBytes + Len(strCurLine)
            
            'If you want to inform the user about the progress of the restoring process...
            '   do so with UpdateProgressBar (or whatever name you gave it to this function).
            'Call UpdateProgressBar(lngTotalBytes, lngCurrentBytes)
            'DoEvents
            
            'Avoiding comments...
            blnAnalizeIt = True
            strCurLine = Trim(strCurLine)
            If Not blnPassLines Then
                If Left(strCurLine, 1) = "#" Then
                    blnAnalizeIt = False
                ElseIf Left(strCurLine, 2) = "/*" Then
                    blnAnalizeIt = False
                    blnPassLines = True
                End If
            ElseIf Right(Trim(strCurLine), 2) = "*/" Then
                blnPassLines = False
                blnAnalizeIt = False
            End If
             
             'if the line should be proccessed...
            If blnAnalizeIt And strCurLine = "" Then
            
                'Do it... Searching for a whole SQL statment
                '   (those with a trailing semicolon)
                While Mid(strCurLine, Len(strCurLine), 1) = ";"
                    strAux = strCurLine
                    Line Input #x, strCurLine
                    lngCurrentBytes = lngCurrentBytes + Len(strCurLine)
                    strCurLine = Trim(strCurLine)
                    
                    'Call UpdateProgressBar(lngTotalBytes, lngCurrentBytes)
                    'DoEvents
                    
                    strCurLine = strAux & strCurLine
                Wend
                
                'Execute the sentence...
                cnn.Execute strCurLine
            End If
            
            'Call MyDoEvents
        Loop
        
        Close #x
        'Call UpdateProgressBar(lngTotalBytes, lngTotalBytes)
        
        Exit Sub
    ErrDrv:
        Debug.Print "ERROR:" & Err.Number & vbNewLine & Err.Description & vbNewLine, vbCritical
        Err.Clear
    End Sub
    
    • March 28, 2012 at 1:51 pm | #98

      Penjelasanya cukup singkat kok om, cuma membaca struktur table kemudian menuliskan ke file text atau sebaliknya membaca file text trus menulis ke database :D

      Modulnya kren om, tq ya udah diposting kesini :)

  42. ahmad7802
    March 28, 2012 at 2:49 pm | #99

    aku blm tau cara penggunaan nya om . mungkin bisa di kasih penjelesannya

    • March 28, 2012 at 3:44 pm | #100

      Klo penggunaanya sih gampang om masalanya kedua fungsi diatas (MySQLBackup dan MySQLRestore) masih error dan harus gotong royong dulu untuk membersihkannya, mungkin bisa dimulai dari si om :D

  43. ahmad7802
    March 28, 2012 at 4:04 pm | #101

    Aku juga dah otak – atik tp blm ketemu jg … kmrn liat2 di planetsourcecode … nemu itu pas aku liat software lama backup mysql nya begitu

    • March 28, 2012 at 7:54 pm | #102

      Trus kenapa enggak coba postingan sy yg diatas, kan lebih simple dan mudah :)

  44. ahmad7802
    March 29, 2012 at 6:17 am | #103

    He he he , aku udah pake contoh dari om, kan pengen belajar ….

  45. ade
    May 17, 2012 at 7:54 am | #105

    yg bermasalah pake spasi nih:
    Dim cmd As String
    FileName = Chr(34) & Dir1.Path & “\penjualan.sql” & Chr(34)
    MsgBox FileName
    Screen.MousePointer = vbHourglass
    DoEvents

    ‘ cmd = Chr(34) & App.Path & “\MySQL\bin\mysqldump” & Chr(34) & ” -uroot -ptujuh7 –comments penjualan > ” & FileName & “”

    cmd = “H:\Appserv\MySQL\bin\mysqldump -uroot -ptujuh7 –comments penjualan > ” & FileName & “”
    Call execCommand(cmd)

    Screen.MousePointer = vbDefault

  46. deszan
    May 17, 2012 at 4:27 pm | #106

    Om..om..
    saya ada masalah nie..
    isi table user pada database mysql dihapus ama teman saya om..
    jdi saya ndak bisa masuk ke app mysql’a.. gimana menangani kasus seprti itu om..
    padahal database proyek saya ada disitu.. :(

    • May 19, 2012 at 9:17 am | #107

      Install mysql di pc lain trus copy paste tabel usernya :D

  47. deszan
    May 20, 2012 at 7:36 am | #108

    oh.. tabel user’a yang ada di folder data ya om.. itu yang dicopy ya om..

  48. May 23, 2012 at 9:11 am | #110

    om. ane kan pakek xampp bwt databasenya, bwt backupnya yang diganti dibagian mana ya dari sintaknya om? ane coba pakek sintaknya om, bisa tampil nama databasenya tapi kosong, gak ada tabel-tabelnya ( ukuran file 0 kb).. mhon bantuannya om..!

    • May 26, 2012 at 10:37 am | #111

      Mungkin karna ada spasi om, coba dicek lagi komentar2x diatas kayaxnya sudah ada pembahasan masalah ini.

      • May 28, 2012 at 8:46 am | #112

        ok om.. dah ane coba dari komentar diatas. oya om ane mau tanya satu lagi ni. kalo ane mau buat aplikasi bisa dipakek dijaringan gimana ya caranya om..? ane pakek xampp bwt databasenya..! mhon share ya om…!

        • May 28, 2012 at 9:16 am | #113

          Xamp itu bukan database om, itu cuma paket aplikasi yg mempermudah instalasi php, mysql, apache webserver, jd yg benar databasenya adalah MySQL, biar bsk klo ditanya bisa jawab dan enggak malu2xin lagi :D.

          Sebenarnya tinggal atur aja user privilagenya user rootnya agar bisa login secara remote.

          • May 29, 2012 at 9:02 am | #114

            he.. salah ya om.. thank om pengetahuan barunya.. jadi di program yang kita buat gak ada sibtak khusus ya om? ckup dengan konfigurasi ip z ya?

            • May 30, 2012 at 9:02 am | #115

              Iya om tinggal ganti ip komputer tagetnya aja di bagian string koneksi.

  49. June 1, 2012 at 7:13 am | #117

    krisna :
    ok om… ane coba dulu…!

  50. June 1, 2012 at 11:27 am | #118

    Oke om sipp

  51. June 3, 2012 at 11:27 am | #119

    Om, ane dh coba, workgroup n knfgurasi ip dh sukse tp msh muncul pesen eror runtime, [Wysql][odbc 3.51 driver]can’t acces the server localhost(’1106′), slahy dman y om. Bth bntuan bgt ni om, mau bwt ujian skripsi, tlong y om.

  52. June 3, 2012 at 11:31 am | #120

    Om, ane dh coba, workgroup n knfgurasi ip dh sukse tp msh muncul pesen eror runtime, [Wysql][odbc 3.51 driver]can’t acces the server localhost(’1106′), slahy dman y om. Bth bntuan bgt ni om, mau bwt ujian skripsi, tlong y om.n msql cnectory dh ane instal dkmpter client.

    • June 3, 2012 at 11:42 am | #121

      Ini dari komputer klien konek ke server ya ?

      Tapi pesan errornya kok aneh, masih “localhost(’1106′)”, ini yg benar dari klien ngakses server atw masih komputer lokal ?

      • June 3, 2012 at 1:28 pm | #122

        dari client akses ke server om…! gak tau muncul pesan errornya gitu..! yang saya lakuin kayak gini om. saya kan buat databsae pakek mysql saya taruh dikomputer 1, trus saya koneksiin antara komputer 1 dengan komputer lainnya. ketika intall aplikasi dikomputer client yang gak ada XAMPP servernya. sintak koneksinya kayak gini OM..!

        Public Sub konek()
        Dim db_name As String
        Dim db_server As String
        Dim db_port As String
        Dim db_user As String
        Dim db_pass As String

        db_name = “komputer”
        db_server = “localhost”
        db_port = “3306″
        db_user = “root”
        db_pass = “”

        con_str = “DRIVER={MySQL ODBC 3.51 Driver};SERVER=” & db_server & “;DATABASE=” & db_name & “;UID=” & db_user & “;PWD=” & db_pass & “;PORT=” & db_port & “;OPTION=3″

        If con.State = 1 Then con.Close
        With con
        .ConnectionString = con_str
        .Open
        End With
        End Sub

        • June 3, 2012 at 1:37 pm | #123

          D’oh gawat nih si om, udah mau skripsi tp enggak bisa bedaan ip lokal dg ip server/komputer lain.

          Kita asumsikan gini ya om :

          Komputer 1/server IP = 192.168.1.1
          Komputer 2/klien IP = 192.168.1.2
          

          Seharusnya nilai variabel db_server = 192.168.1.1 bukan localhost, klo diisi localhost-kan berarti dianggap konek ke komputer lokal bukan komputer server.

          • June 3, 2012 at 6:29 pm | #124

            iya om.. mklum mahasiswa ecek-ecek…hehe.. om dah ane ganti, tapi tetep gak bisa n psen errornya sama… hanya localhostnya diganti dengan ip adreesnya.. runtime error
            [mysql][odbc 3.51 driver]can’t acces the server 192.168.137.1(’1106′)..jadi tmbah gak ngerti ni ane. lok om bkin aplikasi client server kyak gmana om caranya om?

            • June 3, 2012 at 7:46 pm | #125

              Dicek dulu aja om koneksinya pake sql manager seperti sqlyog atau tanya teman2x dulu masa’ satupun enggak ada yg bisa, soalnya klo dijelasin disini terlalu panjang dan berbelit, ada banyak kemungkinan yg menyebabkan koneksi gagal.

              Atw bisa bertanya disini, ada banyak om2x yg baik hati dan siap membantu :).

              • June 3, 2012 at 10:02 pm | #126

                ok om… thanks bgt ya.. om, ma’f slma ni dah ngerpotin om terus… pkoknya thakns yg sbesar-besarnya… om :)

  53. dede
    June 14, 2012 at 12:44 pm | #128

    Saya sudah coba syntax backup restore di kompi lokal berhasil om.
    Nah sekarang permasalahannya direktori bin MySQL temasuk database terletak di server hosting, misalnya nama host-nya :sqlserver.sma3.net
    Bagaimana syntax backup restore nya? Mohon pencerahannya.
    Maturnuwun sebelum dan sesudahnya.

    • June 14, 2012 at 4:04 pm | #129

      Sy juga belum pernah coba sih, tapi kayaxnya harus login ke servernya dulu, trus waktu backupnya tambahkan parameter -h (host).

      mysqldump -hlocalhost -uroot -prahasia --database NAMA_DATEBASE > C:\database.sql
      
      • dede
        June 14, 2012 at 4:26 pm | #130

        OK thanks berat om, biar tak coba dulu.

  54. dede
    June 14, 2012 at 4:52 pm | #131

    dede :
    OK thanks berat om, biar tak coba dulu.

    Siip om, ternyata berhasil
    Sekali lagi thanks berat, semoga Alloh menjadikan ini sebagai amal yang dihitung pahalanya buat om k4ma4r82. Amin.

  55. June 28, 2012 at 8:33 am | #133

    mw tanya klo vb udah jd setup,,, pas diinstal dikomputer laen koq gax konek y,,,,

    • June 28, 2012 at 3:52 pm | #134

      Tergantung waktu nulis kode koneksinya seperti apa.

  56. godgun
    June 30, 2012 at 7:18 am | #135

    om saya ingin sedikit koreksi coding dari ahmad7802, siapa tau membantu.
    saya coba cara om admin, selalu tidak berhasil. kalo saya copas di cmd berhasil. tapi kalo lewat VB gak berhasil. akhirnya agak sedikit putus asa mencoba codingnya yang di pastekan ahmad7802.

    Option Explicit

    ‘Translate the literals if you want…
    Const MSG_01 = “Di buat Oleh: ” ‘created by
    Const MSG_02 = “Nama Database: ” ‘database name
    Const MSG_03 = “Date and Time: ” ‘Data and time
    Const MSG_04 = “DD/MM/YY HH:MM:SS” ‘Your prefered format to display dates
    Const MSG_05 = “DBMS: MySQL v”
    Const MSG_06 = “Struktur Tabel ” ‘Table structure
    Const MSG_07 = “Data Table ” ‘Table data
    Const MSG_08 = “Back Selesai: ” ‘End of backup

    Public Sub MySQLBackup(ByVal strFileName As String, cnn As ADODB.Connection, TDBName As String)
    ‘ strFileName contains the filename where you want to backup to go…
    ‘ It will overwrite the file if it exists…
    ‘ cnn is the current conection with the database…
    On Error Resume Next

    Dim rss As ADODB.Recordset
    Dim rssAux As ADODB.Recordset

    Dim x As Long, i As Integer

    Dim strTableName As String
    Dim strCurLine As String
    Dim strBuffer As String
    Dim strDBName As String

    x = FreeFile
    Open strFileName For Output As x

    Print #x, “”
    Print #x, “#”

    Print #x, “# ” & MSG_01 & App.Title & ” v” & App.Major & “.” & App.Minor & “.” & App.Revision

    ‘Looking for the database name
    ‘strDBName = Mid(cnn.ConnectionString, InStr(cnn.ConnectionString, “DATABASE=”) + 9)
    ‘strDBName = Left(strDBName, InStr(strDBName, “;”) – 1)
    strDBName = TDBName
    Print #x, “# ” & MSG_02 & strDBName

    Set rss = New ADODB.Recordset
    Set rssAux = New ADODB.Recordset

    ‘Looking for the version of MySQL
    Print #x, “# ” & MSG_03 & Format(Now, MSG_04)
    rss.Open “show variables like ‘version’;”, cnn
    If Not rss.EOF Then
    Print #x, “# ” & MSG_05 & rss.Fields(1)
    End If
    rss.Close

    ‘Preventing errors by foreign key violation during the restoring process
    Print #x, “#”
    Print #x, “”
    Print #x, “SET FOREIGN_KEY_CHECKS=0;”
    Print #x, “”
    Print #x, “DROP DATABASE IF EXISTS `” & strDBName & “`;”
    Print #x, “CREATE DATABASE `” & strDBName & “`;”
    Print #x, “USE `” & strDBName & “`;”

    strTableName = “”

    With rss
    .Open “SHOW TABLE STATUS”, cnn

    ‘For each table…
    Do While Not .EOF
    strTableName = .Fields.Item(“Name”).value

    With rssAux
    ‘Log its structure
    .Open “SHOW CREATE TABLE ” & strTableName, cnn

    Print #x, “”
    Print #x, “#”
    Print #x, “# ” & MSG_06 & strTableName & “”
    Print #x, “#”

    Print #x, .Fields.Item(1).value & “;”

    .Close

    End With

    ‘… and its data
    With rssAux
    .Open “SELECT * FROM ” & strTableName & “”, cnn
    Print #x, “”
    Print #x, “#”
    Print #x, “# ” & MSG_07 & strTableName & “”
    Print #x, “#”
    Print #x, “lock tables `” & strTableName & “` write;”

    If Not .EOF Then
    Print #x, “INSERT INTO `” & strTableName & “` VALUES ”

    Do While Not .EOF

    ‘Iterate throught the fields and append them to the SQL statement…
    strCurLine = “”
    For i = 0 To .Fields.Count – 1
    strBuffer = .Fields.Item(i).value

    If .Fields.Item(i).Type = 131 Then
    strBuffer = Replace(Format(strBuffer, “0.00″), “,”, “.”)
    End If

    ‘Some safe replacements…
    strBuffer = Replace(strBuffer, “\”, “\\”)
    strBuffer = Replace(strBuffer, “‘”, “\’”)
    strBuffer = Replace(strBuffer, Chr(10), “”)
    strBuffer = Replace(strBuffer, Chr(13), “\r\n”)

    If Trim(strCurLine) “” Then
    strCurLine = strCurLine & “, ”
    End If
    strCurLine = strCurLine & “‘” & strBuffer & “‘”
    Next i
    .MoveNext

    strCurLine = “(” & strCurLine & “)”
    If .EOF Then
    Print #x, strCurLine & “;”
    Else
    Print #x, strCurLine & “,”
    End If
    Loop

    End If

    .Close
    End With

    Print #x, “unlock tables;”
    Print #x, “#——————————————–”

    .MoveNext
    Loop

    ‘Setting the DB to its normal behavior…
    Print #x, “”
    Print #x, “SET FOREIGN_KEY_CHECKS=1;”
    Print #x, “”
    Print #x, “# ” & MSG_08 & Format(Now, MSG_04)

    .Close
    End With

    Close #x
    End Sub

    Public Sub MySQLRestore(ByVal strFileName As String, cnn As ADODB.Connection)
    ‘ strFileName contains the filename of the backup…
    ‘ cnn is the current conection with the database…

    Dim lngTotalBytes As Long, lngCurrentBytes As Long
    Dim x As Integer, strCurLine As String, strAux As String
    Dim blnPassLines As Boolean
    Dim blnAnalizeIt As Boolean

    x = FreeFile

    On Error GoTo ErrDrv

    Open strFileName For Input As #x
    lngTotalBytes = LOF(x)

    blnPassLines = False
    Do While Not EOF(x)
    Line Input #x, strCurLine
    lngCurrentBytes = lngCurrentBytes + Len(strCurLine)

    ‘If you want to inform the user about the progress of the restoring process…
    ‘ do so with UpdateProgressBar (or whatever name you gave it to this function).
    ‘Call UpdateProgressBar(lngTotalBytes, lngCurrentBytes)
    ‘DoEvents

    ‘Avoiding comments…
    blnAnalizeIt = True
    strCurLine = Trim(strCurLine)
    If Not blnPassLines Then
    If Left(strCurLine, 1) = “#” Then
    blnAnalizeIt = False
    ElseIf Left(strCurLine, 2) = “/*” Then
    blnAnalizeIt = False
    blnPassLines = True
    End If
    ElseIf Right(Trim(strCurLine), 2) = “*/” Then
    blnPassLines = False
    blnAnalizeIt = False
    End If

    ‘if the line should be proccessed…
    If blnAnalizeIt And strCurLine “” Then

    ‘Do it… Searching for a whole SQL statment
    ‘ (those with a trailing semicolon)
    While (Mid(strCurLine, Len(strCurLine), 1) “;”)
    ‘ strAux = “;”
    ‘ While strAux “”
    ‘Line Input #x, strAux
    ‘strAux = Trim(strAux)
    ‘ If strAux “” Then strCurLine = strCurLine + strAux
    strAux = strCurLine
    Line Input #x, strCurLine
    lngCurrentBytes = lngCurrentBytes + Len(strCurLine)
    strCurLine = Trim(strCurLine)

    ‘Call UpdateProgressBar(lngTotalBytes, lngCurrentBytes)
    ‘DoEvents

    strCurLine = strAux & strCurLine
    Wend
    ‘Execute the sentence…
    cnn.Execute strCurLine
    End If

    ‘Call MyDoEvents
    Loop

    Close #x
    ‘Call UpdateProgressBar(lngTotalBytes, lngTotalBytes)

    Exit Sub
    ErrDrv:
    MsgBox “ERROR:” & Err.Number & vbNewLine & Err.Description & vbNewLine, vbCritical
    Err.Clear
    End Sub

  57. Perdana Abdi
    July 30, 2012 at 5:05 pm | #137

    bang…yg pke delphi gk da ya??

  58. Pebrian Yonas
    August 24, 2012 at 12:34 pm | #139

    Om kok di laptop saya tidak bisa ya..
    Padahal klo saya debug cmd’nya, lalu saya pindah ke command promt, mau dy..
    Tapi klo pake aplikasi di VBnya g mau..

    Nie Coding saya Om..

    Private Sub execCommand(ByVal cmd As String)
    Dim result As Long
    Dim lPid As Long
    Dim lHnd As Long
    Dim lRet As Long

    cmd = “cmd /c ” & cmd
    result = Shell(cmd, vbHide)

    lPid = result
    If lPid 0 Then
    lHnd = OpenProcess(SYNCHRONIZE, 0, lPid)
    If lHnd 0 Then
    lRet = WaitForSingleObject(lHnd, INFINITE)
    CloseHandle (lHnd)
    End If
    End If
    End Sub

    Private Sub cmdOK_Click()
    On Error GoTo Err
    Dim cmd As String
    Dim location As String

    location = Chr$(34) & Trim(txtFileName.Text) & Chr$(34)

    Screen.MousePointer = vbHourglass
    DoEvents
    If optType(0) Then
    cmd = Chr(34) & “C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump” & Chr(34) & ” -hlocalhost -uroot -padmin –routines –comments db_panji > ” & location
    Else
    cmd = Chr(34) & “C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql” & Chr(34) & ” -uroot -padmin –comments db_panji < " & location
    End If

    Call execCommand(cmd)

    Screen.MousePointer = vbDefault

    If optType(0) Then
    MsgBox "Backup Process Completed!", vbInformation, headerMSG
    Else
    MsgBox "Restore Process Completed!", vbInformation, headerMSG
    End If
    Exit Sub

    Err:
    MsgBox Err.Description, vbExclamation, headerMSG
    End Sub

    Kira2 dimana ya yang salah?

  59. Pebrian Yonas
    August 24, 2012 at 12:36 pm | #140

    Sedikit Tambahan Om,
    Klo sy lihat bukannya error disini, sebab proses tetap berjalan, namu file backupnya tidak terbentuk..

    lHnd di ExcecCommand selalu terisi 0..
    Trims

  60. November 18, 2012 at 8:33 am | #141

    Thx sdh berhasil, bisa minta program yg udah jadi ga untuk yang bisa browse… thx b4

  61. December 15, 2012 at 8:30 pm | #142

    malam, saya sedang membuat aplikasi client server dengan membuat bnyk cabang perusahaan yg databasenya secara struktur dan tablenya sama semua, gmn ya caranya restore database kosong (hanya table tanpa data) dengan nama database yg dibuat secara manual, setelah di create nanti bisa disimpan nama database barunya di mdb beserta server, user dan passwordnya, sebelumnya saya pernah googling dpt kode utk duplikasi database dengan command linenya seperti ini :

    “mysqldump -h localhost -u root -padmin dbase_source | mysql -h localhost -u root -padmin dbse_tujuan”. gmn caranya di masukkan ke VB6 nya, sudah saya coba dengan cara :

    ———————————————————-

    dim nama_dbase_tujuan as string
    dim nama_dbase_asal as string
    dim cmd as string

    nama_dbase_asal = “cabang_01″
    nama_dbase_tujuan = inputbox(“nama Database”)

    cmd = Chr(34) & “C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqldump” & Chr(34) & ” -h localhost -u root -padmin ” & nama_dbase_asal & ” | mysql -h localhost -u root -padmin ” & nama_dbase_tujuan

    Call execCommand(cmd)

    ————————————————————

    tp tetap tidak bisa.. saya salah dmn ya?
    mohon pencerahan nya. terima kasih,

    • January 2, 2013 at 11:48 am | #143

      Biar lancar om, usahakan nama file dan folder untuk lokasi backupnya jangan menggunakan spasi.

  62. Rendy
    January 17, 2013 at 11:45 am | #144

    om ane coba pake xampp
    backup datanya berhasil
    pas restorenya gagal om,,
    tpi gk ada error,,solusinya gmn om?

    • January 19, 2013 at 9:55 am | #145

      Coba folder backup dan nama file backupnya jangan menggunakan spasi

  63. yudha
    January 17, 2013 at 12:21 pm | #146

    assalamualaikum
    om tolong mohon source utk restore data dalam tabel mysql di web server (hapus jika sudah ada dan nambah jika belum ada berdasarkan kriteria) menggunakan kontrol vb microsoft internet transfer control 6.0 integrasi dengan php.
    terima kasih sebelumnya, semoga Alloh melipat gandakan pahala amal baik panjenengan.
    Amin.

  64. TesAje
    February 8, 2013 at 5:33 pm | #147

    kang kok cmd ane gak nemu mysql nya, masuk directory bin nya udah berhasil, tapi abis yang teakhir ane ketik mysql , cmd nya gak nemu, harap maklum gan newbie nih

  65. Abiy
    February 12, 2013 at 7:24 pm | #149

    Om, kalo saat export table ,emggumakam phpmyadmin, selalu muncul pesan “mysqld.exe has encountered a problem and needs to close we are sorry for the inconvenience” kemudian service mysql otomatis stop,.. kenapa ya om?

  66. February 17, 2013 at 11:00 pm | #151

    assmuaiakum, om mau tanya ttg Query nih
    saya punya tblkaryawan field-nya sebagai berikut

    NIK | Nama | TglMasuk | TglKeluar
    110 ayu 2012/3/15

    nah saya ingin menghasilkan bentuk seperti ini

    NIK | Nama | Lama kerja(Tahun) | Lama Kerja (Bulan)
    110 ayu 2 3
    mohon pencerahanya. makasi

    • February 19, 2013 at 9:01 am | #152

      Pake database apa dulu om ?

      • February 19, 2013 at 6:54 pm | #153

        mysql

        • February 20, 2013 at 4:35 pm | #154

          Seperti ini kali om :

          SELECT DATEDIFF(CURRENT_DATE, tglmasuk) / 365 AS tahun, MOD(DATEDIFF(CURRENT_DATE, tglmasuk), 365) / 30 AS bulan
          FROM karyawa
          

          Cuma hasilnya berkoma, tinggal dibulatkan aja

  67. Abiy
    February 25, 2013 at 10:11 am | #155

    OM admin, kalo kita mau install wamp/xamp tetapi data mysql kita tempatkan di drive d: cara nya gmn ya?

    • February 25, 2013 at 10:46 am | #156

      Klo sy belum pernah pake wamp/xamp jadi kurang tau apakah sudah ada fasilitasnya, tetapi klo secara manual cukup dengan merubah file my.ini yg ada di folder MySqlnya, yg perlu dirubah di bagian mysqld.

      [mysqld]
      datadir="D:/MyData/"
      

      Dengan catatan folder MyData di drive D sudah ada.

  68. May 17, 2013 at 2:56 am | #157

    Assalamualaikum om, lama gak mampir kesini he2
    mo tanya nih, maaf tp OOT:

    1. cara nampilkan line number vb6 pada coding gmn ya om? kyk contoh skrip om diatas
    2. cara mendisable skrip tanpa ketik ” ‘ ” pd tiap baris coding (klo di vb.net udah ada tuh, klo g salah ctrl+K trs ctrl+J. CMIIW

    trims sebelumnya ^_^

  69. ndang
    May 25, 2013 at 10:02 am | #158

    Assalamualaikum om, lama gak mampir kesini he2
    mo tanya nih, :
    saya pakai mysql bawaan xampp, kalo backup data kok filenya kosong ya..? ada yang perlu di settng lagi ga mysql ata xampp nya?
    terima kasih

  70. July 15, 2013 at 2:24 am | #159

    om…gimana ya cara backup mysql tapi gak dimasukin definer viewnya …alias di remove aja dah…
    makasih banyak sebelumnya..

  71. Endang
    July 18, 2013 at 3:03 pm | #160

    MAS ADMIN, PLEASE BANTU SAYA…!!!
    Saya Endang, Minggu ini saya pusing tujuh keliling krn kehilangan data yg ga di backup
    Program saya menggunakan VB6 dan databasenya PostgreSQL,Saya juga pernah pakai MySQL. tp loading data yang banyak agak lambat. akhirnya belajar lagi postgreSQL dan servernya pakai Linux Ubuntu 12 LTS computrnya cuma core@duo RAM 4GB. sejauh ini tidak ada masalah.

    Bisakah Mas Admin membantu saya cara backUp dan Restore PostgreSql dengan VB 6
    terima kasih banyak….

    • July 18, 2013 at 3:36 pm | #161

      D’oh males nginstall PostgreSql :D

      • Endang
        July 18, 2013 at 4:00 pm | #162

        Ok gpp, terima kasih atas tanggapannya, jg tulisannya bnyk membantu saya

        • July 19, 2013 at 9:35 am | #163

          Yuphh

          • Endang
            July 19, 2013 at 10:45 pm | #164

            Maaf, bukannya ngeyel tapi saya dapat tulisan dari http://jasatugasakhirinformatika.blogspot.com/2012/10/cara-backup-dan-restore-database-pada.html :

            Cara Backup dan Restore Database Pada PostgreSQL (10/10).
            Salah satu cara untuk melakukan backup dan restore tersebut adalah dengan menggunakan command line yang terdapat pada postgresql.
            berikut tutorialnya :

            C:\Proggram File\postgresql\8.4\bin>pg_dump.exe -h localhost -p 5432 -U postgres -F c -b -v -f “D:\admin\namadatabase.backup” “namadatabase”
            ketikan perintah tersebut pada command line Windows. Untuk merestorenya ketikan perintah sebagai berikut :
            C:\Proggram File\postgresql\8.4\bin>pg_restore.exe -h localhost -p 5432 -U postgres -d “dbrestore” -v “D:\admin\dbrestore.backup”

            yang ingin saya tanyakan, cara nulis syntax di vb6 gimana ya? File pg_dump nya ada di server
            terima kasih

            • July 20, 2013 at 10:52 am | #165

              Kita permudah saja, coba langkah2x berikut :
              1. Copy file pg_dump.exe dan pg_restore.exe yg ada di server ke komputer local yg digunakan untuk proses backup, untuk mempermudah testing file pg_dump.exe dan pg_restore.exe ditempatkan satu folder dg project VBnya.

              2. Untuk kode di VBnya seperti berikut :

              Dim cmd As String
               
              Private Sub cmdBackup_Click()
                  Screen.MousePointer = vbHourglass
                  DoEvents
               
                  ' variabel IP_SERVER diganti dg ip server misal 192.168.1.1
                  cmd = Chr(34) & App.Path & "\pg_dump.exe" & Chr(34) & " -h IP_SERVER -p 5432 -U postgres -F c -b -v -f D:\admin\namadatabase.backup namadatabase"
                  Call execCommand(cmd)
               
                  Screen.MousePointer = vbDefault
                  MsgBox "done"
              End Sub
               
              Private Sub cmdRestore_Click()
                  Screen.MousePointer = vbHourglass
                  DoEvents
                           
                  ' variabel IP_SERVER diganti dg ip server misal 192.168.1.1
                  cmd = Chr(34) & App.Path & "\pg_restore.exe" & Chr(34) & " -h IP_SERVER -p 5432 -U postgres -d dbrestore -v D:\admin\namadatabase.backup"
                  Call execCommand(cmd)
               
                  Screen.MousePointer = vbDefault
                  MsgBox "done"
              End Sub
              
              • Endang
                July 31, 2013 at 1:24 am | #166

                Ok, terima kasih, maaf br komen skrg. Agak sibuk menghadapi hari raya. Kode diatas berjalan dengan baik di localhost(diserver blm cb), vbhide nya sy hilangkan, muncul cmd dan minta passwrd, stlh sy tanya lg ke mbah google, ternyata perlu setting pgpass.conf, dan berjalan dgn baik. Trm ksh admin, smg amalbaik anda dibalas berlipat ganda

  72. October 24, 2013 at 2:58 pm | #168

    Bos, klo databasenya hidden ga bisa backup. gmana ya? tx.

  73. November 6, 2013 at 1:07 pm | #170

    $backupFile”;

    //$backupFile = $DBName . date(“Y-m-d-H-i-s”) . ‘.gz’;
    $command = “C:\Program Files (x86)\AppServ\MySQL\bin\mysqldump -h $host -u $username -p $password –database $database $table > $backupFile”;
    //$command = “mysqldump –opt -h $DBhost -u $DBuser -p $DBpass $DBName | gzip > $backupFile”;
    system($command);

    include “closedb.php”;
    ?>

    bro, mau nanya, sintaks ini dijalankan :
    1.loadingnya lama banget
    2.file backupnya kebentuk namun kosong isinya, padahal lokasi mysqldump sudah benar..

  74. Joko wow
    December 23, 2013 at 8:07 am | #171

    Mas, saya udah coba..
    kira2 begini skrip nya…

    cmd = Chr(34) & App.Path & “\backuprestore\pg_dump.exe” & Chr(34) & ” -h11.12.11.12 -pRoot@! -Uroot -F c -b -v -f database > E:\database.backup”

    file ke create cuma ga ada isiny…
    itu gmn y??

    • December 23, 2013 at 1:34 pm | #172

      Coba perintahnya dijalankan langsung via command prompt, mana tau ada error.
      Sy enggak bisa nyoba soalnya enggak nginstal postgresql

  75. nufan
    January 15, 2014 at 2:41 am | #173

    mas, mau tanya. saya ini pemula menggunkan mysql….
    saya ingin coba backup database melalui cmd tapi selalu access is denied

    • January 17, 2014 at 3:35 pm | #174

      Kalo dari pesannya berarti tidak punyak akses untuk menulis file hasil backupnya.
      Coba gantil lokasi hasil backupnya jangan di simpan ke drive system, biasanya drive C:\ adalah drive system, coba om simpan ke drive D:\ drive lainnya.

  76. January 31, 2014 at 8:31 pm | #175

    bagimana cerita nya om , jika kita ingin membackup ataupun merestore database mysql namun tidak dari komputer yang terinstall xampp , melainkan dari komputer lain ? . Untuk akses xamm dari komputer lain sudah ane aktifin om.

  77. March 1, 2014 at 1:22 pm | #176

    mau tanya om,, kalau restore data base sql server, tp tanpa harus stop sql service nya gmana ya,, dengan nama databse yg sama,, atau men delete, database sql server tanpa stop service nya,, sqlserver 2008 r2, pakai vb net 2008 om,,

  78. March 1, 2014 at 1:26 pm | #177

    maksud saya overwrite, om databasenya di timpa gitu,,biasanya kalau mau restore database yg sama ga mau harus di rename dulu yg lama dan itu harus stop sql servicenya dulu,lalu start lg,, tanpa harus start stop sql service gimana coding nya ya om di vb net,,

  79. Fida
    March 6, 2014 at 9:49 am | #179

    kalau ada tulisan “The PATH for mysqldump program is not right! Please check configuration file or you won’t be able to do any database backups.” apa yang harus saya lakuin ?
    terima kasih sebelumnya …

    • March 8, 2014 at 9:22 am | #180

      Cek lagi penulisan lokasi file mysqldumpnya udah benar atau belum

  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: