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





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,
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.
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
Coba manfaatkan utility myodbc-installer bawaan dari mysql odbc connection, contoh penggunaannya bisa di lihat disini cek komentar pertama.
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
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.
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
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
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 Subthanks mas admin..case closed
Oke om sama2x
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.
Tinggal tambahkan parameter –database pada saat backup otomatis di file sqlnya akan ditambahkan perintah CREATE dan USE database
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.
Trus untuk yang databasenya tidak terrestore, kira2 kenapa yah kang?
Coba perintah restorenya dijalankan dulu om via dos prompt, kan klo gagal biasanya ada pesan erronya jadi proses debugnya lebih gampang
sekalian ach nanya disini juga.
kalau untuk auto backup bisa ngak kang! apa cukup menggunakan source atau harus ada aplikasi pihak ketiganay??
Buat file batch yg isinya melakukan backup trus dijadwalin menggunakan Scheduled Tasks
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.
Perintah backup dan restorenya sama seperti artikel diatas atw udah dimodif om ?
Klo udah dimodif coba di posting ke sini.
“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
Ada yg kurang om dg perintahnya :
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…
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
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 SubOke 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
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
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
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
Bisa kok om, yg jelas semua kode program yg beredar diblog ini sudah melalui tahap testing
Sy udah coba mau pake spasi atw tetap bisa asalkan folder yg ada spasinya diapit tanda petik dua.
sudah saya coba di xp jalan tapi di win 7 kok gak jalan, jadi hang(not responding) kenapa yah pak
Apa ya ???
Sy udah coba juga om di win 7 enggak ada masalah
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
Coba perintahnya langsung dijalankan di command prompt dulu aja om, berhasil atw enggak ?
Gan, saya coba coding dari Agan tapi kq file hasil dumpingnya kosong kenapa y? cara ngatasinya gmn?
makasih
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
gan, itu yg execCommand nya manggil kemana yah? gk mau jalan -___- heeeeuhhhhh.. help me gan…
Ya manggil command yg mau dieksekusi om.
Emg om manggilnya gimana ? Jangan2x nyopas kode diatas enggak lengkap
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…
Oke dah case closed ya
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?
Loh bukannya di postingan diatas sudah ada sample kode backup dan restorenya.
Klo contoh diatas ya hasil backupnya ada drive c:
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
Om bisa menggunakan komponen Microsoft Common Dialog Control atau fungsi API SHBrowseForFolder
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..
db_inv udah ada belom om di mysqlnya ?
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
Tq om sumbangan kodenya
mksh om, izin sedot ya om
….
Silahkan om
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…
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 Submas 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??
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.
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
bukan :
tapi
Mhon bantuan gan..
perintah restore database:
“c:\xampp\mysql\bin\mysqldump” -uroot –comments test < C:\test.sql
sukses tp tabelnya kosong.
Klo perintahnya langsung dijalankan di command prompt hasilnya gimana om ?
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.
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
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
Ada masukan Om
Belum om, harusnya klo dicommand prompt sukses di program juga sukses
OM MINTA TAMBAHIN SCRIPT YANG PAKE PROGRESBAR DUNK OM SAAT PROSESNYA BACKUP N RESTORENYA..
KAYANYA BISA LEBIH KEREN..
TOLONG YA OM..
Klo ini agak susah om, soalnya sy juga udah lupa fungsi API untuk menangkap proses yang sedang terjadi dan menampilkan dalam bentuk progress
klo dah inget mohon pencerahannya ya om..
Oke om
pak dosen yang saya juga masalahanya sama kayak yang di atas, databasenya kosong, tpi ketika di jalanakan di cmd success,,
gimana ya ??
mohon pencerahanya…
D’oh banyak yg nemu kasus gini ya
om admin, sy mo backup dan restore DB di server dari aplikasi. mohon bantuannya ya, thanks beratz…
Udah dicoba belum om contoh kode diatas ?
uda, berhasil create file, tp 0 bytes… client server pengaruh ga? ga perlu masukin alamat server?
Klo beda komputer harus disebutkan alamat komputernya dengan menambahkan parameter -h:
Mas Admin, mohon bantuannya, masalahnya sama seperti yang lainnya
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
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…
Seharusnya dengan menambahkan perintah Chr(34) sudah menyelesaikan masalah folder yg ada spasinya.
Coba nilai cmdnya didebug.print trus hasilnya langsung dijalankan dicommand prompt
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…
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)
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
Tambahkan perintah “cmd /c”, jadi revisi skripnya :
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.
Tinggal tambahkan parameter -h (host), ex :
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..
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 …..?
Coba posting kesini kodenya om, kalo restorenya g mana?
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…:)
Sama2x om
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…..
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
kang numpang nanya.. itu dibikin project sama form baru kh kaga kang??
Klo untuk uji coba mungkin pake project baru aja, klo udah oke baru digabung dg project yg udah ada
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
Karena pertanyaanya mirip dg pertanyaan sebelumnya, maka jawabannya juga sama dg jawaban sebelumnya
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??
Coba kodenya direvisi berdasarkan komentar sy yg ke #80 diatas om.
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 SubPenjelasanya cukup singkat kok om, cuma membaca struktur table kemudian menuliskan ke file text atau sebaliknya membaca file text trus menulis ke database
Modulnya kren om, tq ya udah diposting kesini
aku blm tau cara penggunaan nya om . mungkin bisa di kasih penjelesannya
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
Aku juga dah otak – atik tp blm ketemu jg … kmrn liat2 di planetsourcecode … nemu itu pas aku liat software lama backup mysql nya begitu
Trus kenapa enggak coba postingan sy yg diatas, kan lebih simple dan mudah
He he he , aku udah pake contoh dari om, kan pengen belajar ….
Ya udah selamat belajar
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
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..
Install mysql di pc lain trus copy paste tabel usernya
oh.. tabel user’a yang ada di folder data ya om.. itu yang dicopy ya om..
Iya om
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..!
Mungkin karna ada spasi om, coba dicek lagi komentar2x diatas kayaxnya sudah ada pembahasan masalah ini.
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…!
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
.
Sebenarnya tinggal atur aja user privilagenya user rootnya agar bisa login secara remote.