Mohon tunggu...
Wawan Supriadi
Wawan Supriadi Mohon Tunggu... lainnya -

LAHIR DI SUMEDANG TANGGAL 20 NOVEMBER 1966 -. PERNAH JADI GURU DI SMP DAN SMK SEJAK TAHUN 1988 SAMPAI TAHUN 2013. PROGRAMMER DI RSU KABUPATEN SUMEDANG - SENANG MEMPELAJARI SOFTWARE 3D ANIMATION E-Mail wulansoft.computindo@gmail.com Website :http://rsudsumedang.com

Selanjutnya

Tutup

Inovasi

Replikasi Data Base MySQL pada OS Windows

5 Maret 2010   21:27 Diperbarui: 26 Juni 2015   17:35 4502
+
Laporkan Konten
Laporkan Akun
Kompasiana adalah platform blog. Konten ini menjadi tanggung jawab bloger dan tidak mewakili pandangan redaksi Kompas.
Lihat foto
Bagikan ide kreativitasmu dalam bentuk konten di Kompasiana | Sumber gambar: Freepik

MySQL merupakan salah satu Database Engine yang walaupun gratis, tapi kemampuannya cukup handal. Sebagai bukti di RSUD Kabupaten Sumedang sampai sekarang (06-03-2010) jumalh data sudah mencapai lebih dari 10 juta record (baris) dengan sekitar 80 buah client, tapi software masih stabil.

Dengan data yang semakin membesar akan menimbulkan kekhawatiran, bagaimana apabila suatu ketika server rusak, apa yang akan terjadi pada data ? tentu akan ikut hilang juga, sedangkan kita tahu bahwa data tak ternilai harganya.

Untuk mengatasi hal tersebut dapat dilakukan diantaranya dengan cara Back Up data secara rutin. Tapi banyak sekali kelemahannya yaitu

  1. Pada saat proses Back Up data, kinerja server sedikitnya akan terganggu yang tentunya akan menganggu kenyamanan user
  2. Pada saat back up data, tidak semua data akan ter Back Up, sebab pada saat Back Up mungkin saja terjadi perubahan data yang dilakukan oleh user
  3. Ketika server rusak, walaupun data secara rutin di Back Up tentunya banyak data yang hilang. Data yang dapat diselamatkan hanyalah data yang ada sebelum Proses Back Up dilakukan.

Untuk menangani masalah Back Up data yang ternyata banyak sekali kelemahanya, ada satu cara yang ampuh yaitu Replikasi. Dengan cara replikasi ini kita membutuhkan paling tidak 2 buah server yaitu server Master, dimana disana terrjadi perubahan data yaitu Insert (Penambahan), Update (Perubahan) dan delete (Penghapusan). Sedangkan server Slave berfungsi untuk menyamakan data, perubahan data di server master secara otomatis akan merubah data pada server slave, dengan kata lain data pada server slave selalu menyesuaikan (sama) dengan data pada server Master.

Pada server slave, tidak terjadiperintah query insert, update, maupun delete, hanya perintah select saja yang diijinkan. Memang kelihatannya seperti pemborosan, tapi sebetulnya tidak juga karena

  1. Apabila server master rusak, maka database bisa segera dialihkan ke server slave
  2. Server slave, bisa digunakan oleh software manajerial yang hanya melihat laporan saja

Langkah-langkah replikasi MySQL pada OS Windows

Sebelumnya download dulu dua buah aplikasi yang saya buat secara khusus yang terdiri dari Master.exe dan Slave.exe, Master.exe harus diinstalkan pada server Master dan Slave.exe harus diinstalkan pada server Slave , yang dapad di download DISINI

Download terlebih dahulu MySQL Administrator yang dapad di dpwnload  DISINI

Setting Pada server Master

1. Instalkan Software Master pada Server Master

2.Tambahkan 1 user khusus untuk replikasi, misalnya user : replikasi , password : replikasi

3.Masuk ke data base mysql

4.Berikan perintah query grant replication slave on *.* to replikasi@’ip-slave’ identified by ‘replikasi’;

Ip-slave = ip dari Server Slave (misalnya 192,168.1.69)

5.Buka file my.cnf tambahkan isian berikut pada bagian [mysqld],

log-bin=/var/lib/mysql/mysql-bin.log

server-id=1

binlog-ignore-db=”mysql”

6. Buka Sofware MySQL Adminitraor klik kotak Binary Logfile Name sehingga muncul tanda ceklist, kemudian isi kotak isiannya dengan nama log-bin

6.Matikan MySQL server dengan cara klik tombol

Pada

Hidupkan lagi MySQL Server dengan mengklik tombol

7. Lakukan back-up database yang akan direplikasi pada master dan restore pada server

Slave (proses replikasi hanya bisa bekerja bila struktur data pada Slave sama dengan struktur data pada Master)

8. Buka software Master

Isi Host Masteer, User Master (sebaiknya menggunakan root) dan password,

kemudian klik tombol , sehingga dua kotak terbawah terisi

catat nama file log dan posisinya

Setting Pada Server Slave

1. Salin database Yang di Back Up dari Server Master ke Server Slave

2. Instalkan Slave.exe

3 . Edit file my.cnf tambahkan perubahan berikut pada bagian [mysqld],

server-id = 2

master-host = ip-master (ip dari Server Master)

master-user= replikasi

master-password= replikasi

master-port=3306

matikan MySQL Server

hidupkan MySQL Server

Jalankan Aplikasi Slave.exe

Isi Ip Slave, User Slave, Password, IP Master, User Master, password, Nama File Log, dan Posisi (dua terakhir lihat dari hasil proses Master.exe)

Klik tombol

Bila pada status muncul tulisan Connecting to master artinya proses replikasi berhasil.Coba lakukan perubahan data pada server (bisaa berupa insert, update, atau delete), maka data base pada slave pun akan ikut berubah.

Bila ingin mempelajari Kode Program bisa dipelajari disini

Master

Option Explicit

Private Sub Command1_Click() End Sub Private Sub Form_Load() Me.Top = (Info.WorkAreaHeight - Me.Height) / 2 Me.Left = (Info.WorkAreaWidth - Me.Width) / 2 End Sub Private Sub PushButton1_Click() On Error GoTo eh Me.MousePointer = vbHourglass Set gCnn = New MYSQL_CONNECTION gCnn.OpenConnection PT1.Text, PT2.Text, PT3.Text, PT4.Text Me.MousePointer = vbNormal If gCnn.State = MY_CONN_OPEN Then Dim pRs As MYSQL_RS Dim theTemp As String 'Save record Set pRs = New MYSQL_RS SQL = "SHOW MASTER STATUS" pRs.OpenRs SQL, gCnn PT5.Text = pRs.Fields("File") PT6.Text = pRs.Fields("Position") Else MsgBox "Koneksi Ke Data Base MySQL Gagal !", vbCritical, "Gagal" End If Exit Sub eh: MsgBox "Koneksi Ke Data Base MySQL Gagal !", vbCritical, "Gagal" PT1.Text = "" PT2.Text = "" PT3.Text = "" PT1.SetFocus Me.MousePointer = vbNormal End Sub Private Sub PushButton2_Click() End End Sub

Slave

Option Explicit

Private Sub Command1_Click() End Sub Private Sub Form_Load() Me.Top = (Info.WorkAreaHeight - Me.Height) / 2 Me.Left = (Info.WorkAreaWidth - Me.Width) / 2 End Sub Private Sub PushButton1_Click() On Error GoTo eh Me.MousePointer = vbHourglass Set gCnn = New MYSQL_CONNECTION gCnn.OpenConnection PT1.Text, PT2.Text, PT3.Text, PT4.Text Me.MousePointer = vbNormal If gCnn.State = MY_CONN_OPEN Then Dim pRs As MYSQL_RS Dim theTemp As String 'Save record Set pRs = New MYSQL_RS SQL = "SHOW MASTER STATUS" pRs.OpenRs SQL, gCnn PT5.Text = pRs.Fields("File") PT6.Text = pRs.Fields("Position") Else MsgBox "Koneksi Ke Data Base MySQL Gagal !", vbCritical, "Gagal" End If Exit Sub eh: MsgBox "Koneksi Ke Data Base MySQL Gagal !", vbCritical, "Gagal" PT1.Text = "" PT2.Text = "" PT3.Text = "" PT1.SetFocus Me.MousePointer = vbNormal End Sub Private Sub PushButton2_Click() End End Sub

SLAVE

Option Explicit

Private Sub Command1_Click() End Sub Private Sub Form_Load() Me.Top = (Info.WorkAreaHeight - Me.Height) / 2 Me.Left = (Info.WorkAreaWidth - Me.Width) / 2 End Sub Private Sub PushButton1_Click() On Error GoTo eh Me.MousePointer = vbHourglass Set gCnn = New MYSQL_CONNECTION gCnn.OpenConnection PT8.Text, PT9.Text, PT10.Text, PT4.Text Me.MousePointer = vbNormal If gCnn.State = MY_CONN_OPEN Then Dim pRs As MYSQL_RS Dim theTemp As String 'Save record Set pRs = New MYSQL_RS SQL = "STOP SLAVE" pRs.OpenRs SQL, gCnn Set pRs = New MYSQL_RS SQL = "RESET SLAVE" pRs.OpenRs SQL, gCnn Set pRs = New MYSQL_RS SQL = "CHANGE MASTER TO MASTER_HOST='" & PT1.Text & "', MASTER_USER = '" & PT2.Text & "', MASTER_PASSWORD= '" & PT3.Text & "',MASTER_LOG_FILE='" & PT5.Text & "',MASTER_LOG_POS=" & PT6.Text & ";" pRs.OpenRs SQL, gCnn Set pRs = New MYSQL_RS SQL = "START SLAVE" pRs.OpenRs SQL, gCnn Set pRs = New MYSQL_RS SQL = "SHOW SLAVE STATUS" pRs.OpenRs SQL, gCnn PT7.Text = pRs.Fields("Slave_IO_State") Else MsgBox "Koneksi Ke Data Base MySQL Gagal !", vbCritical, "Gagal" End If Exit Sub eh: MsgBox Err.Number & " " & Err.Description, vbCritical, "Error While Connecting" MsgBox "Koneksi Ke Data Base MySQL Gagal !", vbCritical, "Gagal" PT1.Text = "" PT2.Text = "" PT3.Text = "" PT1.SetFocus Me.MousePointer = vbNormal End Sub Private Sub PushButton2_Click() End End Sub

SELAMAT MENCOBA DAN SEMOGA BERMANFAAT

Replikasi.rar

http://rapidshare.com/files/359424409/Replikasi.rar

Size: 7156 KB Downloads: 21 Status: File available Last Download: 08.04.2010 03:39:03

Mohon tunggu...

Lihat Inovasi Selengkapnya
Beri Komentar
Berkomentarlah secara bijaksana dan bertanggung jawab. Komentar sepenuhnya menjadi tanggung jawab komentator seperti diatur dalam UU ITE

Belum ada komentar. Jadilah yang pertama untuk memberikan komentar!
LAPORKAN KONTEN
Alasan
Laporkan Konten
Laporkan Akun