Fungsi Backup ini untuk menyimpan seluruh isi Database n Strukturnya. Jika kita rajin membackup file kita setiap harinya, maka kita bisa mengetahui database yg kita miliki 5 hari lalu atau bahkan 50tahun lalu dengan me-RESTORE hasil backup database.
Berikut Adalah Langkah2 membuat Backup dan Restore Pada VB.net MYSQL database.
keterangan :
a. Nama database : hobimahasiswa
b. lokasi instalasi mysql / wamp : C:\wamp\bin\mysql\mysql5.5.8\bin\
c. lokasi backup n restore : D:\
d. nama File backup : hobimahasiswa(tanggalbacckup).sql
1. Sediakan masing2 satu buah Button Untuk Backup n Restore.
2. Kemudian Atur Propeties nya sperti berikut :
Button1 : Text : Backup
Name : BtnbackupButton2 : Text : Restore
Name : Btnrestore
3. Kemudian Double Klik pada Btnbackup / Restore dan ketikan kode berikut :
Imports System.IO
Public Class Form1
Private Sub Btnbackup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnbackup.Click
Dim tanya = MessageBox.Show("BACK UP DB ?", "WARNING", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If tanya = Windows.Forms.DialogResult.Yes Then
Dim tanggal = Format(Now, "yyyy-MM-dd")
Dim nm = "hobimahasiswa" & tanggal
Dim myProcess As New Process()
Process.Start("C:\wamp\bin\mysql\mysql5.5.8\bin\mysqldump.exe", " -u root -p hobimahasiswa -r ""d:\" & nm & ".sql""")
myProcess.Close()
ElseIf tanya = Windows.Forms.DialogResult.No Then : Exit Sub
End If
End Sub
Private Sub Btnrestore_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnrestore.Click
Dim no = InputBox("Masukkan Nama File Sql dari D:\ Untuk Restore !")
If no = "" Then Exit Sub
Dim myProcess As New Process()
myProcess.StartInfo.FileName = "cmd.exe"
myProcess.StartInfo.UseShellExecute = False
myProcess.StartInfo.WorkingDirectory = "C:\wamp\bin\mysql\mysql5.5.8\bin\"
myProcess.StartInfo.RedirectStandardInput = True
myProcess.StartInfo.RedirectStandardOutput = True
myProcess.Start()
Dim myStreamWriter As StreamWriter = myProcess.StandardInput
Dim mystreamreader As StreamReader = myProcess.StandardOutput
myStreamWriter.WriteLine("mysql.exe -u root -p koperasi_simpan_pinjam < D:\" & no & ".sql ")
myStreamWriter.Close()
myProcess.WaitForExit()
myProcess.Close()
myProcess.Close()
MsgBox("Restore Dari ""d:\" & no & ".sql"" SUKSES", MsgBoxStyle.MsgBoxRight, "Pesan")
End Sub
End Class
4. Sesuaikan Lokasi Directori file masing2. dan ganti lokasi mysql.exe dan mysqldumb.exe masing.
5. Terus Coba sampai sukses.
terimakasih... tutorialnya sangat membantu,,,,,
ReplyDeleteada permsalahan
saat backup sudah berhasil tapi pada saat restore data yang dl di backup bukan menambahkan data yang ada sekarang melainkan mengganti data yang sudah ada (data yg sudah ada hilang dan diganti data yg dulu telah dibackup)
kira2 salahnya dimna yah ?
ReplyDeletefungsi restore yg ini memang untuk memakai data yg dulu sudah di simpan pada file backup.. misalnya untuk melihat database sepuluh hari yang lalu.. untuk merestore data yang seperti anda maksudkan bisa memakai fungsi LOAD DATA INFILE.. hanya saja file backupnya harus yg berasal dari Export/Select into Outfile
ReplyDeleteKok file dump -nya g memuat string data tabel sama sekali gan, maaf ni agan ini kayaknya cuma backup nama database aj ya? tidak beserta isinya. mohon pencerahannya...
ReplyDelete-- MySQL dump 10.13 Distrib 5.5.39, for Win32 (x86)
--
-- Host: localhost Database: databaseku
-- ------------------------------------------------------
-- Server version 5.6.17
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;