Lab 9.6, Replication Setting on MariaDB
Hai young society. Kembali lagi lita untuk melanjutkan lab kemarin, yaitu bagaimana caranya konfigurasi PhpMyAdmin di MariaDB, untuk kamu yang belum baca bisa dilihat disini. Oke disini kita akan mengkonfigurasi Replication database. Sebelumnya, apa itu Replication Database?
Database Replication adalah metode yang dilakukan untuk menyalin dan mendistribusikan data dari database 1 ke databsase lainnya. Selanjutnya database tersebut akan salin sinkron sehingga konsistensi data terjamin. Proses replication ini terjadi jika terjadinya sinkronisasi antara server master dan slave, atau database yang asli dengan salinanya.
Tujuan dari pembuatan replication ini adalah agar dapat membackup server utama jika terjadi down atau mati, maka server slave akan menggantikan server utama. Oke langsung saja kita konfigurasi :
Topology :
Konfigurasi Server Master :
1. Pertama kita buat dahulu sub domain untuk server slave / replication nya. Caranya dengan menambahkan sub domain di file forward DNS dulu.
nano /var/named/forward.tkj
2. Kemdian tambahkan sub domain dan ip server slavenya
3. Setelah itu tambahkan juga sub domain di file reverse.
nano /var/named/reverse.tkj
4. Tambahkan domain berserta ip server slave seperti di bawah ini.
5. Setelah itu kita restart service named / dns.
systemctl restart named
6. Lalu kita coba tes sub domain tersebut dengan perintah dig.
7. Setelah itu kita edit file maridb-server.cnf yang berada di dir /etc/opt/rh/rh-mariadb101.
nano /etc/opt/rh/rh-mariadb101/my.cnf.d/mariadb-server.cnf
8. Kemudian cari baris [server] , lalu tambahkan sytax seperti gambar di bawah ini.
log-bin=mysql-bin adalah binary logging sql, yaitu mysql.bin
server-id=101 merupakan penamaan untuk si server, dan penamaan ini tidak bisa menggunakan huruf, tetapi hanya bisa menggunakan angka saja. Disini Author mengaturnya menjadi angka 101. Dan untuk penamaan ini kita bebas menamakannya apa saja, asalkan menggunakan angka.
9. Setelah itu kita restart service mariadb nya.
systemctl restart rh-mairadb101-mariadb
10. Setelah itu kita masuk ke shell mariadb nya dengan perintah mysql -u root -p dan kita berhentikan mode slave pada server master dengan perintah stop slave;.
11. Selanjutnya kita buat user replicationnya. Pada kasus ini Author membuat user dengan nama akmal dan passwordnya akmalrifqi.
12. Kemudian jalan kan perintah flush privileges. Perintah ini berarti juga menyuruh server untuk mereload, dan menyuruh server untuk membaca ulang tabel hak akses. Setelah kita flush, kita keluar dari shell dengan perintah exit; .
13. Kemudian kita masukan service mariadb nya kedalam firewall dengan perintah seperti dibawah ini. Setelah kita masukan kemudian kita reload firewallnya.
firewall-cmd --permanent --add-service=mysql
firewall-cmd --reload
Konfigurasi Server Slave (Replica)
14. Jika tadi kita konfigurasi file maridb-server.cnf di server master, kali ini kita konfigurasi file maridb-server.cnf di server slave.
nano /etc/opt/rh/rh-mariadb101/my.cnf.d/mariadb-server.cnf
15. Lalu tambahkan syntax seperti dibawah ini.
log-bin=mysql-bin adalah binary logging mysql, yaitu mysql.bin
server-id=101 merupakan penamaan untuk si server, dan penamaan ini tidak bisa menggunakan huruf, tetapi hanya bisa menggunakan angka saja. Disini Author mengaturnya menjadi angka 102. Dan untuk penamaan ini kita bebas menamakannya apa saja, asalkan menggunakan angka.
read_only=1, disini kita atur menjadi 1, ini artinya tidak ada pembaruan yang diizinkan kecuali dari pengguna dengan hak superuser atau server slave yang diperbarui dari master Variabel read_only berguna bagi server slave untuk memastikan agar server slave tidak bisa mengkonfigursi database, tapi hanya dapat melihat database saja.
report-host=node1.1frekuensi.com merupakan host dari server slave itu sendiri, report-host ini bisa juga kalian atur menjadi nama domain, hostname, atau ip address dari server slave kalian.
16. Kemudian kita restart service mariadb nya.
systemctl restart rh-mariadb101-mariadb
17. Kemudian kita masukan juga service mariadb nya ke firewall server agar client dapat mengakses service ini juga.
Konfigurasi Server Master :
18. Pertama kita masuk dulu ke shell mariadb nya. kemudian masukan perintah flush tables with read lock; , untuk mem flush dan mengunci semua table yang terbuka.
19. Lalu lakukan perintah show master status; , untuk melihat file dan posisitionnya.
20. Selanjutnya, jalankan perintah mysqldump, Mysqldump merupakan bagian dari paket database mysql yang memungkinkan kamu untuk membuang database atau kumpulan database untuk dibackup atau ditransfer ke server SQL yang lain.
--all-databases digunakan untuk men-Dump semua tabel pada semua database
--lock-all-tables digunakan untuk mengunci semua tabel pada semua database
--events digunakan untuk men-Dump events terhadap database yang di dump
mysql_dump.sql adalah file yang terbuat dari proses mysqldump ini.
21. Kemudian kita masuk ke shell mariadb, dan kita unlock tables nya.
22. Lalu copy file mysql_dump.sql yang telah kita buat sebelumnya ke host server slave dengan menggunakan perintah scp. Scp ini adalah secure copy, dimana proses kirim ini akan melalui enkripsi seperti ssh. Disini Author akan mengcopy file nya ke directory /tmp/ pada server slave.
scp mysql_dump.sql node1.1frekuensi.com:/tmp/ .
Konfigurasi Server Slave (Replica)
23. Pertama kita masukan file mysql_dump.sql yang sudah tercopy tadi kedalam sql server slave. Ini dilakukan agar file dump pada server slave sama dengan yang ada pada server master, sehingga nanti nya bisa tersinkronisasi.
mysql -u root -p < /tmp/mysql_dump.sql
24. Lalu masuk ke shell mariadb nya, dan lakukan perintah change master seperti dibawah ini
change master to merupakan perintah untuk mengatur parameter yang digunakan oleh server slave agar terhubung dan bisa berkomunikasi dengan server master selama replikasi.
master_host merupakan alamat ip dari server master.
master_user merupakan user replica pada server master, ini sesuai dengan yang kita buat pada step no. 11.
master_password merupakan password dari user replica tersebut. Ini sesuai dengan yang kita buat pada step no. 11.
master_log_file dan master_log_pos merupakan status binary log files beserta lokasinya yang berada pada server master. Dan ini harus sama dengan status master yang ada pada server master tersebut. Isikan perintah ini sesuai yang seperti pada step no. 19.
25. Lalu kita jalan kan perintah start slave; .
26. Dan untuk melihat apakah sudah saling terkoneksi antara server master dan slave, kita lakukan perintah show slave status\G . Dan jika Slave_IO_Running dan Slave_SQL Running sudah yes maka sudah saling tersinkronisasi.
Vertifikasi :
27. Disini kita akan mencoba untuk membuat database dari server master.
28. Dan pastikan database tersebut sudah terbuat.
29. Kemdian coba login di server slave. dan server yang tadi dibuat di server master pun juga ada di server slave.
Nah segitu dulu untuk lab kali ini. Jika ada kesalahan gambar atau penjelasan mohon di koreksi dan bantu Author merevisi nya. Sekian dulu perjumpaan kita. Semoga bermanfaat dan Wassalamualaikum..WR .WB
Comments
Post a Comment