Anda di halaman 1dari 17

DATABASE TERDISTRIBUSI

Replikasi Database

Replikasi database adalah suatu teknik untuk melakukan copy/penyalinan dan


pendistribusian data dan objek-objek database dari suatu database ke database lain dan
melaksanakan sinkronisasi antara database sehingga konsistensi data dapat terjamin.

Asynchronous

Asynchronous adalah proses copy/penyalinan dan pendistribusian data yang


dilakukan berdasarkan waktu tertentu, tidak secara realtime.

yang dibutuhkan:

1. Memiliki 2 buah komputer, satu bertindak sebagai master dan satu lagi bertindak
sebagai slave.
2. Sistem operasi windows 7 pada komputer master dan slave.
3. XAMPP pada komputer master dan slave.
4. SQLYOG.

Langkah-langkah dalam membuat model replikasi one master one slave :

1. Tentukan komputer mana yang akan dijadikan master dan slave serta tentukan ip
komputer master dan komputer slave.
- Komputer A/master : 192.168.56.1
- Komputer B/slave : 192.168.56.101
2. Buat database, tabel, serta field dan value yang sama pada komputer master dan
komputer slave.
Contoh :
Nama database : latihan2
Nama tabel : barang
Nama field : - kdbrg varchar 15
- nmbrg varchar 50

UNIVERSITAS METAMEDIA
DATABASE TERDISTRIBUSI
Konfigurasi pada komputer B/slave

1. Masuk ke dalam database server dengan menggunakan cmd. Sehingga akan muncul
tampilan seperti berikut:

Keterangan:
c:\User\findo> adalah menandakan bahwa kita sedang berada pada partisi c, di dalam
partisi c tersebut ada folder namanya Users, di dalam folder Users ada folder namanya
findo, sekarang kita berada dalam folder findo.
2. Untuk bisa login ke dalam database server maka anda harus berada pada folder bin.
Untuk bisa berada pada folder bin maka anda harus masuk terlebih dahulu ke partisi c
dengan menuliskan perintah :
- cd c:// maka akan berubah menjadi c:\>.
- selanjutnya anda masuk ke dalam folder xampp, dengan menuliskan perintah cd
xampp maka akan berubah menjadi c:\xampp.
- selanjutnya anda masuk ke dalam folder mysql, dengan menuliskan perintah cd
mysql maka akan berubah menjadi c:\xampp\mysql.
- selanjutnya anda masuk ke dalam folder bin, dengan menuliskan perintah cd bin
maka akan berubah menjadi c:\xampp\mysql\bin.
Perintah diatas bisa disingkat dengan langsung menuliskan cd c://xampp/mysql/bin
yang terletak pada partisi c di dalam folder xampp sehingga muncul tampilan seperti
berikut:

UNIVERSITAS METAMEDIA
DATABASE TERDISTRIBUSI

3. Jika anda sudah berada pada folder bin, maka anda sudah bisa mencoba untuk login
ke database server dengan menuliskan perintah mysql –u root, jika anda berhasil login
maka akan muncul tampilan seperti berikut:

Keterangan:
- -u adalah username, karena default xampp usernamenya adalah root maka
ditulis –u root. Jika mysql server anda memiliki password maka perintahnya akan
ditambahkan seperti ini mysql –u root –p password_anda.
4. Jika anda berhasil login maka akan muncul welcome to the MySQL monitor. Untuk
memastikan apakah anda sudah benar-benar berhasil login, silahkan anda tampilkan
semua database yang ada pada database server, dengan menuliskan perintah show
databases; maka akan muncul tampilan seperti berikut,

5. Buat pengaturan hak akses untuk komputer A/master agar komputer A/master bisa
melakukan manipulasi data pada komputer B/slave, dengan menuliskan perintah
berikut GRANT ALL PRIVILEGES ON *.* TO ‘findo’@’192.168.56.1’

UNIVERSITAS METAMEDIA
DATABASE TERDISTRIBUSI
IDENTIFIED BY ‘findo’; Jika berhasil maka akan muncul tulisan query OK, 0 row
affected. Itu menandakan bahwa anda telah berhasil membuat hak akses replication
data ke komputer B/slave.

Keterangan:
- Perintah GRANT ALL PRIVILEGES digunakan untuk memberikan hak akses
penuh kepada komputer A/master untuk bisa memanipulasi data di komputer
B/slave.
- TO ‘findo’ adalah username yang dibuat agar bisa masuk ke komputer B/slave.
- 192.168.56.1 adalah ip dari komputer B/slave.
- Identified by findo adalah password yang dibuat agar bisa masuk ke komputer
B/slave.

Konfigurasi pada komputer A/master

1. Jalankan software SQLyog sehingga akan muncul tampilan seperti berikut ini

Keterangan:

UNIVERSITAS METAMEDIA
DATABASE TERDISTRIBUSI
- Cek apakah komputer A/master sudah bisa mengakses database pada komputer
B/slave silahkan anda buat koneksi untuk bisa terhubung ke komputer B/slave.
- MySQL host address : 192.168.56.101 adalah ip komputer B/slave.
- Username : findo adalah username yang sudah dibuat pada komputer B/slave.
- Password : findo adalah password yang sudah dibuat pada komputer B/slave.
- Port : 3306 adalah port default untuk mengakses database.
- Jika sudah anda isi silahkan click tombol Test Connection untuk cek koneksi jika
muncul tulisan connection successful berarti anda sudah berhasil membuat
konfigurasi pada komputer B/slave agar komputer A/master bisa memanipulasi
data pada komputer B/slave.

2. Jika sudah berhasil terhubung silahkan anda click tombol connect maka akan muncul
tampilan seperti berikut

3. Silahkan anda pilih powertools, database synchronization wizard maka akan muncul
tampilan seperti berikut

UNIVERSITAS METAMEDIA
DATABASE TERDISTRIBUSI

4. Silahkan pilih start a new job, maka akan muncul tampilan seperti berikut:

Keterangan:
- Source adalah komputer A/master yang datanya akan dicopy/disalin ke komputer
target atau komputer B/slave.

Bagian source, karena pada komputer A/master tidak disetting username dan
passwordnya maka username dan password yang ditulis adalah username dan
password default yang sudah disediakan :

- Host address : bisa anda isi dengan alamat ip komputer A/master atau localhost.
- username adalah root.
- password biarkan saja tidak usah diisi.
- Port dalah 3306
- Nama databasenya silahkan pilih latihan2

Bagian target:

- Host address : ip address komputer B/slave.

UNIVERSITAS METAMEDIA
DATABASE TERDISTRIBUSI
- Username adalah nama user yang sudah dibuat sebelumnya.
- Password adalah password yang sudah dibuat sebelumnya.
- Port adalah 3306.
- Nama databasenya silahkan pilih latihan2
5. Jika sudah silahkan pilih next maka akan muncul tampilan seperti berikut

6. Silahkan pilih one-way synchronization, don’t delete extra row tidak perlu diceklis.
7. Selanjutnya pilih next maka akan muncul tampilan seperti berikut:

8. Jika ingin copy semua data yang ada pada semua tabel di dalam database latihan2
maka silahkan pilih sync all tables in the database, tapi jika ingin memilih tabel apa
saja yang akan dicopy maka silahkan pilih sync only selected tables.
9. Selanjutnya pilih next maka akan muncul tampilan seperti berikut:

UNIVERSITAS METAMEDIA
DATABASE TERDISTRIBUSI

10. Silahkan pilih direct sync maka akan muncul tampilan seperti berikut

11. Pilih abort on error maka akan muncul tampilan seperti berikut

Pilih run immediately maka akan muncul tampilan seperti berikut

UNIVERSITAS METAMEDIA
DATABASE TERDISTRIBUSI

Synchronous

Synchronous adalah Proses copy/penyalinan dan pendistribusian data yang dilakukan


secara realtime antara suatu database ke database yang lainnya.

One Master One Slave

Model replikasi one master one slave adalah model replikasi dengan cara menyalin
data yang ada pada komputer master ke komputer slave, datanya seperti record dan tabel. Jadi
apapun yang anda lakukan pada komputer master seperti menambah tabel baru, menambah
field pada tabel, mengubah nama tabel, mengubah nama field dan menambah record maka
secara otomatis hal tersebut juga akan dilakukan pada komputer B/slave. Tapi apapun yang
anda lakukan pada komputer B/slave tidak akan berpengaruh pada komputer A/master.

yang dibutuhkan:

1. Memiliki 2 buah komputer, satu bertindak sebagai master dan satu lagi bertindak
sebagai slave.
2. Sistem operasi windows 7 pada komputer master dan slave.
3. XAMPP pada komputer master dan slave.

Langkah-langkah dalam membuat model replikasi one master one slave :

UNIVERSITAS METAMEDIA
DATABASE TERDISTRIBUSI
1. Tentukan komputer mana yang akan dijadikan master dan slave serta tentukan ip
komputer master dan komputer slave.
- Komputer A/master : 192.168.56.102
- Komputer B/slave : 192.168.56.101
2. Buat database, tabel, serta field dan value yang sama pada komputer master dan
komputer slave.
Contoh :
Nama database : latihan2
Nama tabel : mahasiswa
Nama field : - npm varchar 15
- nama varchar 50

Konfigurasi pada komputer A/master

1. Buka file my.ini atau my.cnf yang terletak pada folder xampp/mysql/bin. Maka akan
muncul tampilan seperti berikut:

2. Silahkan tambahkan perintah berikut ini setelah tulisan [mysqld]

server-id =1
log-bin = mysql-bin
binlog-do-db = latihan2

UNIVERSITAS METAMEDIA
DATABASE TERDISTRIBUSI
3. Silahkan restart database server dengan cara stop dan start kembali MySQL pada
control panel xampp.

4. Masuk ke dalam database server dengan menggunakan cmd. Sehingga akan muncul
tampilan seperti berikut:

Keterangan:
c:\User\findo> adalah menandakan bahwa kita sedang berada pada partisi c, di dalam
partisi c tersebut ada folder namanya Users, di dalam folder Users ada folder namanya
findo, sekarang kita berada dalam folder findo.
5. Untuk bisa login ke dalam database server maka anda harus berada pada folder bin.
Untuk bisa berada pada folder bin maka anda harus masuk terlebih dahulu ke partisi c
dengan menuliskan perintah :
- cd c:// maka akan berubah menjadi c:\>.
- selanjutnya anda masuk ke dalam folder xampp, dengan menuliskan perintah cd
xampp maka akan berubah menjadi c:\xampp.
- selanjutnya anda masuk ke dalam folder mysql, dengan menuliskan perintah cd
mysql maka akan berubah menjadi c:\xampp\mysql.
- selanjutnya anda masuk ke dalam folder bin, dengan menuliskan perintah cd bin
maka akan berubah menjadi c:\xampp\mysql\bin.

UNIVERSITAS METAMEDIA
DATABASE TERDISTRIBUSI
Perintah diatas bisa disingkat dengan langsung menuliskan cd c://xampp/mysql/bin
yang terletak pada partisi c di dalam folder xampp sehingga muncul tampilan seperti
berikut:

6. Jika anda sudah berada pada folder bin, maka anda sudah bisa mencoba untuk login
ke database server dengan menuliskan perintah mysql –u root, jika anda berhasil login
maka akan muncul tampilan seperti berikut:

Keterangan:
- -u adalah username, karena default xampp usernamenya adalah root maka
ditulis –u root. Jika mysql server anda memiliki password maka perintahnya akan
ditambahkan seperti ini mysql –u root –p password_anda.
7. Jika anda berhasil login maka akan muncul welcome to the MySQL monitor. Untuk
memastikan apakah anda sudah benar-benar berhasil login, silahkan anda tampilkan
semua database yang ada pada database server, dengan menuliskan perintah show
databases; maka akan muncul tampilan seperti berikut,

UNIVERSITAS METAMEDIA
DATABASE TERDISTRIBUSI
8. Buat pengaturan hak akses untuk komputer A/master agar komputer A/master bisa
melakukan manipulasi data pada komputer B/slave, dengan menuliskan perintah
berikut GRANT REPLICATION SLAVE ON *.* TO ‘slave’@’192.168.56.101’
IDENTIFIED BY’slave’; Jika berhasil maka akan muncul tulisan query OK, 0 row
affected. Itu menandakan bahwa anda telah berhasil membuat hak akses replication
data ke komputer B/slave.

Keterangan:
- Perintah replication slave digunakan untuk melakukan penyalinan data ke
komputer slave.
- TO ‘slave’ adalah username yang dibuat agar bisa masuk ke komputer B/slave.
- 192.168.56.101 adalah ip dari komputer B/slave.
- Identified by adalah password yang dibuat agar bisa masuk ke komputer B/slave.
9. Selanjutnya anda harus mengaktifkan perubahan yang telah anda buat tadi dengan
menuliskan perintah FLUSH PRIVILEGES. Jika berhasil maka akan muncul query
OK, 0 row affected Seperti berikut ini:

10. Untuk melihat konfigurasi yang sudah anda lakukan tadi dengan menuliskan perintah
SHOW MASTER STATUS; jika semua konfigurasinya berhasil anda lakukan maka
akan muncul sebuah tabel yang memberikan informasinya mengenai konfigurasi yang
telah anda lakukan, seperti tampilan berikut ini:

UNIVERSITAS METAMEDIA
DATABASE TERDISTRIBUSI

11. Catatlah file dan positionnya karena data tersebut akan digunakan pada konfigurasi di
komputer B/slave. Binlog_do_DB isinya adalah nama database yang akan anda
lakukan replikasi data.

Konfigurasi pada komputer B/slave

1. Buka file my.ini atau my.cnf yang terlatak pada folder xampp/mysql/bin. Maka akan
muncul tampilan seperti berikut:

2. Silahkan tambahkan perintah berikut ini setelah tulisan [mysqld], serta carilah semua
tulisan server-id = dan gantilah angka setelah = tersebut dengan angka 1.

server-id =2
3. Silahkan restart database server dengan cara stop dan start kembali MySQL pada
control panel xampp.

UNIVERSITAS METAMEDIA
DATABASE TERDISTRIBUSI

4. Anda harus menghentikan aktifitas slave pada komputer B/slave dengan menuliskan
perintah SLAVE STOP; jika anda berhasil maka muncul query OK, 0 row affected
seperti pada tampilan berikut:

5. Buat pengaturan hak akses agar komputer A/master bisa memanipulasi data ke
komputer B/slave, dengan menuliskan perintah
CHANGE MASTER TO MASTER_HOST='192.168.56.102',
MASTER_USER='slave', MASTER_PASSWORD='slave',
MASTER_LOG_FILE='mysql-bin.000005', MASTER_LOG_POS=98;
Jika berhasil maka akan muncul tulisan query OK, 0 row affected seperti tampilan
berikut

UNIVERSITAS METAMEDIA
DATABASE TERDISTRIBUSI
Keterangan:
- 192.168.56.102 adalah ip dari komputer A/master.
- MASTER_USER=’slave’ adalah username yang sudah kita buat sebelumnya.
- MASTER_PASSWORD=’slave’ adalah password yang sudah kita buat
sebelumnya.
- MASTER_LOG_FILE=’mysql-bin.000005’ adalah isi dari kolom file ketika anda
menuliskan perintah SHOW MASTER STATUS pada komputer A/master.
- MASTER_LOG_POS=98 adalah isi dari kolom position ketika anda menuliskan
perintah SHOW MASTER STATUS pada komputer A/master.
6. Setelah konfigurasi hak akses anda lakukan maka anda harus menjalankan slave
kembali dengan menuliskan perintahSTART SLAVE; , jika berhasil maka muncul
query OK, 0 row affected, seperti tampilan berikut

7. Selanjutnya anda harus mengaktifkan perubahan yang telah anda buat tadi dengan
menuliskan perintah FLUSH PRIVILEGES; Jika berhasil maka akan muncul query
OK, 0 row affected Seperti berikut ini:

8. Setelah semua konfigurasi pada komputer B/slave anda lakukan maka anda harus cek
apakah komputer A/master dengan komputer B/slave sudah terkoneksi dengan baik,
dengan menuliskan perintah SHOW SLAVE STATUS\G; maka akan muncul
tampilan seperti berikut:

UNIVERSITAS METAMEDIA
DATABASE TERDISTRIBUSI

Keterangan:
- Slave_IO_State : waiting for master to send event adalah status komputer B/slave
sedang menunggu aksi yang akan dilakukan oleh komputer A/master kepada
komputer B/slave.
- Master_Host : 192.168.56.102 adalah ip komputer A/master.
- Master_User : slave adalah username yang diizinkan untuk mengakses komputer
B/slave.
- Slave_IO_Running dan Slave_SQL_Running bernilai Yes, menandakan
konfigurasi antara komputer A/master dengan komputer B/slave berjalan dengan
baik.

UNIVERSITAS METAMEDIA

Anda mungkin juga menyukai