1. Persiapan
:
Disini menggunakan Kali Linux.
Soal yang kami terima dari tugas ini
adalah sebagai berikut :
PRAKTIKUM 5
BDT
·
server A merupakan master bagi server B dan C.
server D BUKAN SLAVE server B ataupun C. Di server A, B, dan C terdapat
database kepegawaian. Tabel yang ada di server A : employees, emp_dept,
departements. Tabel yang ada di server B : employees, emp_dept. Tabel yang ada
di server C : departements.
·
server B mereplikasi employees dan emp_dept
dari A. server C mereplikasi departements dari A
·
settinglah agar D bisa melakukan join semua
tabel dari B dan C SEOLAH-OLAH semua tabel database
kepegawaian ada di D
·
hint : federated
query
2.
Setting IP Address pada masing – masing server. Jika
ingin mengganti IP bisa lewat terminal dengan mengetikkan : ifconfig eth0 IPBaru
Server A
Server B
Server C
Server D
3.
Cek IP Address dan lakukan pinging untuk mengatahui
status transmisi (koneksi ) jaringan
Server A (192.168.56.101) ke Server B (192.168.56.102)
Server A (192.168.56.101) ke Server C (192.168.56.103)
Server C (192.168.56.103) ke Server D (192.168.56.104)
4.
Setting my.cnf pada masing –masing server . Hal pertama yang harus dilakukan adalah mencari file
my.cnf. Pada kali ini memakai linux mint jadi kita bisa mencarinya pada
direktori /etc/mysql) atau melalui terminal dengan
perintah sudo leafpad /etc/mysql/my.cnf untuk KaliLinux atau sudo pluma /etc/mysql/my.cnf untuk LinuxMint setelah itu lakukan tambahan configurasi dibawah
[mysqld] seperti di bawah ini.
Server A
Server B
Server C
Server D
Federated merupakan storage
engine yang menawarkan kemampuan untuk menghubungkan server MySQL yang terpisah
untuk membuat satu database logis dari banyak server fisik.
5. Restart
masing – masing mysql pada setiap server setelah melakukan konfigurasi pada
my.cnf dengan cara :
Sudo /etc/init.d/mysql restart
6.
Masuk kedalam mysql pada masing masing server . Untuk
Server A kita membuat user dan melakukan konfigurasi untuk melakukan replikasi
berdasarkan user tertentu.
7. Melakukan konfigurasi untuk server B sebagai Slave dan
mengecek master status untuk mengetahui konfigurasi untuk replikasi sudah
berhasil atau belum.
8. Melakukan konfigurasi untuk server C sebagai Slave dan
mengecek master status untuk mengetahui konfigurasi untuk replikasi sudah
berhasil atau belum.
9.
Setelah
master dan slave sudah terhubung, maka selanjutnya master / server A dapat
membuat database kepegawaian dan tabel ( pegawai , departemen dan dept_emp ) yang
nantinya akan direplikasi oleh server B (pegawai dan dep_emp) dan server C (
departemen) . Seperti pada gambar di bawah ini:
10. Cek tabel
pada server B dan server C apakah database dan tabel yang direplikasi sudah
masuk atau tidak.
Ø Server B
Ø Server C
1 11. Pastikan koneksi Yes, Yes dan selanjutnya menambahkan query berikut ini
di server B dan server C supaya
server D yang bukan sebagai master atau slave bisa mem-federated atau mengambil
data sesuai dengan kebutuhan.
Fungsi grant select on
kepegawaian untuk melakukan proses replikasi semua tabel yang ada pada database
kepegawaian untuk username ‘root dan IP server D dan diikuti dengan
pengidentifikasian password. Sehingga server D bisa mengambil data yang ada
deserver B dan C.
12. Setelah terbentuk master slave pada server A sebagai master dan server B
dan C sebagai slave. Maka selanjutnya kita membuat database federate tabel (*) untuk
masing-masing tabel yang ada di server B dan C pada server D dengan syntax
sebagai berikut:
(*)
FEDERATED :
Tabel ini digunakan untuk mengakses data pada tabel lainnya. Tabel jenis ini
tidak mempunyai data apapun .Tabel ini biasanya digunakan untuk mengakses tabel
MySQL Remote. Tabel jenis ini juga tidak mendukung transaksi dan perintah DDL(Data
Definition Language) dan tidak bisa mengetahui apabila telah terjadi perubahan
Schema tabel pada tabel remote yang diakses. Server D membuat database
fed_kepegawaian dan tabel (fed_pegawai , fed_departemen, fed_dept_emp)
Ø Membuat database baru :
Ø Membuat
tabel fed_pegawai :
ENGINE=FEDERATED DEFAULT
CHARSET = latin1 adalah Storage Engine yang kita gunakan. root adalah nama user
dari server D. root adalah password dari server D. 192.168.56.102 adalah ip
server B. 3306 adalah port yang digunakan. Kepegawaian adalah nama database dari server B. pegawai
adalah nama table dari database kepegawaian.
Ø Membuat
tabel fed_departemen :
ENGINE=FEDERATED DEFAULT
CHARSET = latin1 adalah Storage Engine yang kita gunakan. root adalah nama user
dari server D. root adalah password dari server D. 192.168.56.102 adalah ip
server B. 3306 adalah port yang digunakan. Kepegawaian adalah nama database dari server B. pegawai
adalah nama table dari database kepegawaian.
Ø Membuat
tabel dept_emp :
Ø Setelah membuat tabel, maka langkah
selanjutnya adalah memeriksa data dan show semua tabel pada server D yang telah
di replikasi dari server C dan B dengan cara menampilkan semua data dari tiap –
tiap tabel fed yang dibuat.
Ø Langkah adalah terakhir adalah melakukan
join pada semua tabel dari B dan C seperti gambar dibawah ini.