• Tidak ada hasil yang ditemukan

[PRAKTIKUM BASIS DATA TERDISTRIBUSI D3 TI UNS]

N/A
N/A
Protected

Academic year: 2021

Membagikan "[PRAKTIKUM BASIS DATA TERDISTRIBUSI D3 TI UNS]"

Copied!
10
0
0

Teks penuh

(1)

1

MODUL 8 PRAKTIKUM BASIS DATA TERDISTRIBUSI “Replikasi MySql”

Pendahuluan

Replikasi database berfungsi untuk mirroring database antar 2 server atau lebih. Dengan satu server sebagai master dan server-server lain sebagai slave. Setiap kali update data dilakukan di server master, akan secara otomatis diupdatekan ke server-server slave, dengan demikian isi database semua server akan sama. Database pada server slave ini dapat berfungsi sebagai backup database.

Ketika replikasi berjalan, statemen SQL yang merubah data disimpan kedalam file binary log(bin.log) pada server master. Hanya statemen SQL yang merubah data saja yang akan disimpan didalam file log.

Sebelum memulai konfigurasi, agar replikasi berjalan dengan lancar perlu diperhatikan bahwa:

• Percobaan replikasi membutuhkan minimal 2 komputer dengan versi mysql yang sama.

• Catat IP Adress dari masing-masing komputer, dan tentukan mana yang menjadi master dan yang menjadi slave.

• Log MySql harus aktif. • Innodb harus aktif.

• Pastikan database tidak sedang diakses.

• Database yang akan digunakan adalah database x, load database x ke server master.

Konfigurasi Master Database

Buka dan edit file my.ini atau my.cnf yang terletak pada direktori bin pada mysql. Atur agar membolehkan (enable) networking untuk MySQL, sehingga MySQL di mesin ini bisa diakses dari jaringan/berbagai IP Address. Caranya dengan memastikan pada my.cnf (biasanya di /etc/mysql/my.cnf) 2 baris, ’skip-networking’ dan ‘bind-address=127.0.0.1″ tidak aktif dengan menambahkan karakter komentar (#) di awal barisnya, sehingga menjadi:

# skip-networking

(2)

February 28, 2012

2

Selanjutnya setup lokasi file log-bin, nama database (di praktikum ini kita akan menggunakan database x) dan id-server (id_server=1 digunakan untuk master, sedangkan slave dapat menggunakan id 2 dan/atau seterusnya;

log-bin = mysql-bin.log binlog-do-db=x

server-id=1

restart MySQL untuk menerapkan konfigurasi baru tesebut.

Setelah itu, melalui command prompt, masuk ke dalam mysql dengan perintah di terminal mysql -u root -p, di terminal ketika connect ke MySQL maka prompt-nya akan berubah menjadi mysql> . Nah disini kita akan membuat user baru database MySQL yang akan diberi hak untuk melakukan replikasi;

mysql> GRANT REPLICATION SLAVE ON *.* TO ’u_slave’@’%’ IDENTIFIED BY ‘123456’;

mysql> FLUSH PRIVILEGES;

ket= username ’u_slave’ dan password ‘123456’ silahkan diganti sesuai keinginan

perintah diatas akan melakukan insert ke dalam database mysql tabel user. untuk memeriksa, dapat dilihat dengan perintah:

mysql> use mysql;

mysql> select * from user where user = ‘u_slave’;

Setelah itu kita ambil informasi binary log dari database yang kita ingin replikasi,

mysql> USE x;

mysql> FLUSH TABLES WITH READ LOCK; mysql> SHOW MASTER STATUS;

Maka akan muncul keluaran yang mirip seperti ini;

(3)

3

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +——————+———-+————–+——————+

| mysql-bin.000002 | 107 | x | | +——————+———-+————–+——————+ 1 row in set (0.00 sec)

Simpan informasi ini untuk digunakan pada konfigurasi di mesin Slave. Setelah itu jangan lupa unlock dulu semua table tadi, dan keluar dengan perintah;

mysql> UNLOCK TABLES; mysql> FLUSH PRIVILEGES; mysql> exit;

Selanjutnya backup database x yang akan kita replikasi, untuk nantinya kita restore di Slave agar kondisi database di kedua mesin adalah sama. ingat, database harus sama agar tidak ada perbedaan data antara server master dengan server slave. Ini bisa dilakukan di terminal dengan perintah;

C:\xampp\mysql\bin > mysqldump -u root –p x > x.sql

hasil backup akan tersimpan di C:\xampp\mysql\bin\x.sql. Silakan di cek!

Konfigurasi Slave Database

Dari command promt, masuk ke MySQL, setelah itu kita buat database baru bernama x sama seperti di Master, dan langsung keluar;

mysql> CREATE DATABASE x; mysql> exit;

masih dari command prompt, restore backup database x dari Master dengan perintah

(4)

February 28, 2012

4

Selanjutnya konfigurasi file my.cnf atau my.ini di server slave, sesuai dengan konfigurasi jaringan dan Master sebelumnya;

server-id=2

replicate-do-db=x

Ket:

• nilai server-id, dapat diganti dengan angkat integer positif selain 1 yang sudah dipakai oleh Master

• replicate-do-db adalah database pada master yang akan direplikasi.

Restart MySQL agar konfigurasi baru bisa berjalan. Kemudian masuk lagi ke command prompt mysql dan jalankan, perintah berikut:

mysql> SLAVE STOP;

mysql> CHANGE MASTER TO MASTER_HOST=’192.168.1.2′, MASTER_USER=’u_slave’, MASTER_PASSWORD=’123456‘,

MASTER_LOG_FILE=’mysql-bin.000002‘, MASTER_LOG_POS=107; mysql> START SLAVE;

mysql> FLUSH PRIVILEGES; mysql> exit;

Ket: Isian parameter MASTER disesuaikan dengan server master-nya.

Pengujian

Untuk melihat status slave dapat dilakukan dari command prompt mysql pada server slave dengan perintah:

mysql > show slave status\G; Catat hasilnya!

Berikutnya anda coba menambah data pada server master, seperti misal perintah berikut: mysql> use x;

mysql > insert into produk

values(‘P0004’,’Gula’,’S0002’,’K2’,’10000’,’30’,’0’); mysql> select * from produk;

(5)

5 Catat hasilnya! Ada berapa baris?

Selanjutnya anda periksa di server slave apakah penambahan data yang sebelumnya juga ter-replikasi dengan perintah berikut:

mysql> use x;;

mysql> select * from produk;

(6)

February 28, 2012

1

MODUL 8 PRAKTIKUM BASIS DATA TERDISTRIBUSI “Replikasi MySql”

Pendahuluan

Replikasi database berfungsi untuk mirroring database antar 2 server atau lebih. Dengan satu server sebagai master dan server-server lain sebagai slave. Setiap kali update data dilakukan di server master, akan secara otomatis diupdatekan ke server-server slave, dengan demikian isi database semua server akan sama. Database pada server slave ini dapat berfungsi sebagai backup database.

Ketika replikasi berjalan, statemen SQL yang merubah data disimpan kedalam file binary log(bin.log) pada server master. Hanya statemen SQL yang merubah data saja yang akan disimpan didalam file log.

Sebelum memulai konfigurasi, agar replikasi berjalan dengan lancar perlu diperhatikan bahwa:

• Percobaan replikasi membutuhkan minimal 2 komputer dengan versi mysql yang sama.

• Catat IP Adress dari masing-masing komputer, dan tentukan mana yang menjadi master dan yang menjadi slave.

• Log MySql harus aktif. • Innodb harus aktif.

• Pastikan database tidak sedang diakses.

• Database yang akan digunakan adalah database x, load database x ke server master.

Konfigurasi Master Database

Buka dan edit file my.ini atau my.cnf yang terletak pada direktori bin pada mysql. Atur agar membolehkan (enable) networking untuk MySQL, sehingga MySQL di mesin ini bisa diakses dari jaringan/berbagai IP Address. Caranya dengan memastikan pada my.cnf (biasanya di /etc/mysql/my.cnf) 2 baris, ’skip-networking’ dan ‘bind-address=127.0.0.1″ tidak aktif dengan menambahkan karakter komentar (#) di awal barisnya, sehingga menjadi:

# skip-networking

(7)

2

Selanjutnya setup lokasi file log-bin, nama database (di praktikum ini kita akan menggunakan database x) dan id-server (id_server=1 digunakan untuk master, sedangkan slave dapat menggunakan id 2 dan/atau seterusnya;

log-bin = mysql-bin.log binlog-do-db=x

server-id=1

restart MySQL untuk menerapkan konfigurasi baru tesebut.

Setelah itu, melalui command prompt, masuk ke dalam mysql dengan perintah di terminal mysql -u root -p, di terminal ketika connect ke MySQL maka prompt-nya akan berubah menjadi mysql> . Nah disini kita akan membuat user baru database MySQL yang akan diberi hak untuk melakukan replikasi;

mysql> GRANT REPLICATION SLAVE ON *.* TO ’u_slave’@’%’ IDENTIFIED BY ‘123456’;

mysql> FLUSH PRIVILEGES;

ket= username ’u_slave’ dan password ‘123456’ silahkan diganti sesuai keinginan

perintah diatas akan melakukan insert ke dalam database mysql tabel user. untuk memeriksa, dapat dilihat dengan perintah:

mysql> use mysql;

mysql> select * from user where user = ‘u_slave’;

Setelah itu kita ambil informasi binary log dari database yang kita ingin replikasi,

mysql> USE x;

mysql> FLUSH TABLES WITH READ LOCK; mysql> SHOW MASTER STATUS;

Maka akan muncul keluaran yang mirip seperti ini;

(8)

February 28, 2012

3

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +——————+———-+————–+——————+

| mysql-bin.000002 | 107 | x | | +——————+———-+————–+——————+ 1 row in set (0.00 sec)

Simpan informasi ini untuk digunakan pada konfigurasi di mesin Slave. Setelah itu jangan lupa unlock dulu semua table tadi, dan keluar dengan perintah;

mysql> UNLOCK TABLES; mysql> FLUSH PRIVILEGES; mysql> exit;

Selanjutnya backup database x yang akan kita replikasi, untuk nantinya kita restore di Slave agar kondisi database di kedua mesin adalah sama. ingat, database harus sama agar tidak ada perbedaan data antara server master dengan server slave. Ini bisa dilakukan di terminal dengan perintah;

C:\xampp\mysql\bin > mysqldump -u root –p x > x.sql

hasil backup akan tersimpan di C:\xampp\mysql\bin\x.sql. Silakan di cek!

Konfigurasi Slave Database

Dari command promt, masuk ke MySQL, setelah itu kita buat database baru bernama x sama seperti di Master, dan langsung keluar;

mysql> CREATE DATABASE x; mysql> exit;

masih dari command prompt, restore backup database x dari Master dengan perintah

(9)

4

Selanjutnya konfigurasi file my.cnf atau my.ini di server slave, sesuai dengan konfigurasi jaringan dan Master sebelumnya;

server-id=2

replicate-do-db=x

Ket:

• nilai server-id, dapat diganti dengan angkat integer positif selain 1 yang sudah dipakai oleh Master

• replicate-do-db adalah database pada master yang akan direplikasi.

Restart MySQL agar konfigurasi baru bisa berjalan. Kemudian masuk lagi ke command prompt mysql dan jalankan, perintah berikut:

mysql> SLAVE STOP;

mysql> CHANGE MASTER TO MASTER_HOST=’192.168.1.2′, MASTER_USER=’u_slave’, MASTER_PASSWORD=’123456‘,

MASTER_LOG_FILE=’mysql-bin.000002‘, MASTER_LOG_POS=107; mysql> START SLAVE;

mysql> FLUSH PRIVILEGES; mysql> exit;

Ket: Isian parameter MASTER disesuaikan dengan server master-nya.

Pengujian

Untuk melihat status slave dapat dilakukan dari command prompt mysql pada server slave dengan perintah:

mysql > show slave status\G; Catat hasilnya!

Berikutnya anda coba menambah data pada server master, seperti misal perintah berikut: mysql> use x;

mysql > insert into produk

values(‘P0004’,’Gula’,’S0002’,’K2’,’10000’,’30’,’0’); mysql> select * from produk;

(10)

February 28, 2012

5 Catat hasilnya! Ada berapa baris?

Selanjutnya anda periksa di server slave apakah penambahan data yang sebelumnya juga ter-replikasi dengan perintah berikut:

mysql> use x;;

mysql> select * from produk;

Referensi

Dokumen terkait

Hasil studi menunjukkan bahwa Esties’S Orchid menggunakan tunas muda sebagai bahan perbanyakan anggrek Dendrobium secara in vitro yang diinduksi pada media Vacin

Dari pen- jelasan di atas dapat dilihat bahwa pengertian pe- main yang menunjukan perilaku adiksi dan penger- tian pemain dengan motivasi bermain tinggi sama- sama menunjukan

Memperhatikan pernyataan dan pandangan dari ulama-ulama kenamaan dari masing-masing mazhab empat tersebut di atas, kiranya hampir semua ulama melarang dan menyatakan

Bagi siswa, diharapkan untuk dapat memiliki self efficacy yang kuat sehingga siswa akan mampu mencapai kondisi flow akademik dengan mudah, hal tersebut

6) bahan tambahan tipe E adalah suatu bahan tambahan yang digunakan untuk mengurangi jumlah air campuran untuk menghasilkan beton sesuai dengan konsistensi.. yang telah

Sikap SINGAPURA, mengenai keamanan regional juga menunjukkan perbedaan yang besar dengan apa yang ditampilkan negara-negara ASEAN lainnya singapura menganggap penting

Kewajiban yang utama dari Fiskus adalah memberikan bimbingan, penerangan, penyuluhan kepada wajib pajak sehingga wajib pajak mempunyai pengetahuan dan keterampilan

Rani Pangesti Sipasi, D0313058, Partisipasi Masyarakat Dalam Usaha Pengembangan Pariwisata di Kawasan Sirkuit Obyek Wisata Pantai Widuri, Kabupaten Pemalang, Jawa