Ok kembali lagi dijempolan01, kali ini saya akan membuat postingan mengenai replication pada mariadb database, sebelumnya secara konsep saya pernah membuat sebuah artikel mengenai replication postgresql database, nah ini konsep nya sama seperti itu tetapi dengan jenis software databse yang berbeda yaitu mariadb.

Replication database server salah satu cara untuk mengnscyncronisasikan server data base yang satu dengan yang lainnya, dengan ini kita tidak perlu repot melakukan penyalinan data secara manual  keserver lainnya, dengan ini server lain nya juga akan mempunyai data yang sama, dan keuntungan bila mana salah satu server lain mati database masih tetap bisa diakses dengan data yang sama seperti pada master nya, dengan ini datanya juga aman dan masih ada pada server lain nya, untuk membuat replication database kita membutuhkan beberapa tahapan pengerjaan sampe kedua server tersebut terhubung dan saling syncronisasi. 


Berikut gambaran mengenai topologinya.

Awal. 

1. OK pertama kita buat sebuah sub domain contoh aditiya.net yaitu bernama node1.aditiya.net dengan alamat address server node1.

2. Setelah itu kita tambahkan juga pada zona reverse, pada dns nya .

3. Setelah subdomain terbentuk, lakukan restart service pada system dns yaitu named.

4. Setelah itu jangan lupa kita bukan perijinan pada firewall supaya, service tersebut dapat diakses oleh client ataupun menangani proses service tersebut.

Konfigurasu Controller / master.

1. Edit file server.cnf yang berada pada directory /etc/my.cnf,d/, disini kita akan mengkonfigurasi log darib binary dan juga untuk menambahkan server id pada master/controller.
log-bin=mysql-bin : untuk memasukkan sebuah log dari suatu binary, log binary tersebut yaitu mysql-bin
server-id=42 : untuk menyatakan id pada sebuah server, untuk pemberian id ini kita bisa gunakan angka untuk memberikan sebuah id tersebut, tidak direkomendasikan menggunakan huruf atau symbol lainnya, nah id server ini bisa anda tentukan sesuka hati anda bisa 123, 227, 101 dan juga yang lainnya.
2. Setelah itu kita restart service mariadb nya. 

3. Kita masuk pada database mariadb/mysql nya, setelah itu kita matikan slave service, setelah itu membuat user untuk proses replication, dan perintah tersebut bisa dilihat dibawah ini.
stop slave : digunakan untuk mematikan sebuah service slave yang digunakan untuk metode slave. 
grant replication slave on *.* to ....@'%' identified by '...'; : berguna untuk membuat sebuah user yang digunakan untuk mengijinkan sebuah replication nanti nya, user ini yang menjembatani hal tersebut, buat lah sebuah user tersebut dan juga beserta password nya.

Konfigurasi node1 / replication

1. Sama seperti master nya tadi, pada server node1/replication kita juga harus mengedit beberapa bagian didalam nya salah satu nya yang terdapat pada master tadi, untuk perintah apa yang dimasukkan anda bisa lihat dibawah ini.
log-bin=mysql-bin : untuk memasukkan sebuah log dari suatu binary, log binary tersebut yaitu mysql-bin
server-id=42 : untuk menyatakan id pada sebuah server, untuk pemberian id ini kita bisa gunakan angka untuk memberikan sebuah id tersebut, tidak direkomendasikan menggunakan huruf atau symbol lainnya, nah id server ini bisa anda tentukan sesuka hati anda bisa 123, 227, 101 dan juga yang lainnya.
read_only=1 : untuk mengatifkan read only akses pada sebuah server database.
report-host=node1.aditiya.net : yaitu untuk mendefinisikan menginformasikan, sebuah host dari server node, untuk informasi report tesebut, kita bisa gunakan sebuah domain seperti node1.aditiya.net atau pun alamat ip dari server node1 itu sendiri (192.168.1.110).
2. Setelah itu seperti biasa, kita lakukan restart service pada sebuah jenis software nya, kali karena berhubungan dengan mariadb maka kita restart service mariadb untuk menerapkan konfigurasinya. 

 Replication info (master server)

1. Untuk memulai nya, kita masuk pada database mariadb/mysql, dengan hak akses root berserta password nya.

2. Setelah itu kita lock flush tables read nya, setelah itu kita lihat status dari server master tersebut, nah disini informasi untuk melakukan replication nama file dengan position dari master tersebut, (instilah syncronisasi si node1 keserver informasi nya kita dapatkan disini) informasi ini kalo bisa kita inga2 atau enggak diss aja biar gampang.

3. Sekarang kita lakukan proses pencadangan atau backup mariadb/mysql seluruh data dan juga beberapa informasi dari event yang ada juga akan dibackup, backup ini menggunakan mysql dump dan target dari file nya yaitu mysql_dump.sql.

4. Buka mariadb/mysql nya kembali, sekarang kita buka tables nya yang sebelum nya kita flush read lock, dengan perintah unlock tables;, dan untuk keluar dari data base bisa menggunakan perintah exit.

5. Nah data backup yang kita lakukan tadi, sekarang kita kirim menggunakan scure copy ke node1, untuk alamat nya nya bisa menggunakan ip atau domain seperti node1.aditiya.net atau 192.168.1.110, data tersebut dikirm kesebuah directory yang bernama /tmp/. 


Syncronisasi Node1 to Master/Controller server. 

1. Pada node1, kita lakukan pembukaan berkas dan langsung memasukkan file backup tersebut ke system mariadb pada node1.

2. Setelah itu kita masuk pada database mariadb nya, setelah itu kita lakukan proses syncronisasi ke master nya, istilah nya menyabungkan kesever master dan mengsyncronisasikannya.
chang master to : perintah ini digunakan untuk mengature server master mana yang menjadi acuan untuk melakukan sebuah replication atau syncronisasi.
master_host='192.x.x.x', : yaitu alamat dari sebuah master server / controller.
master_user='replikadb', : sebuah user yang kita buat yang berfungsi untuk menjembatani proses replication ini.
master_password='jempolan01', : password dari user yang digunakan sebagai replication
master_log_file='mysql-bin.000002', : ini adalah sebuah nama file dari master, didapatkan dari proses perintah show master status (itu alasan nya saya suruh di ingat ingat, cara gampangnya tinggal copy aja ya, dari informasi master tesebut.
master_log_pos=245; : letak posisi dari master, cara mendapatkan nya sama dengan master log file, didapatkan dari proses perintah show master status.
3. Setelah itu kita hidupkan service slave, tetapi jika ingin merestart nya kita bisa gunakan perintah stop diawal dan start slave.

4. Kita cek apakah node1 sudah tersyncronisasi dengan server master, untuk mengecek nya bisa gunakan perintah ini, pastikan slave io running dan slave sql running bertanda yes keduanya, juga baca informasi yang sudah saya tandakan tersebut, hal ini menandakan server node1 sudah melakukan syncronisasi dan sudah mengreplication.

Pengujian .

1. Kita uji apakah replication nya work atau enggak, akses php myadmin maridbnya, akses nama domain master dengan diikuti /phpmyadmin/, setelah itu login dengan menggunakan user yang anda miliki, contoh user root .

2. Pada node1 nya juga sama, akses nama domain nya, dengan diikuti /phpmyadmin/ dan login menggunakan user nya.

3. Kita buat sebuah database baru pada master server nya.

4. Cek apakah database tersebut sudah terbentuk atau belum.

5. Jika replication mode sukses diterapkan, node1 server ini akan menyamakan informasi nya dengan master server, alias database yang kita bikin dimaster tadi dinode1 ini juga akan terbentuk juga.

Sekian dari saya semoga bermanfaat bagi anda
Terimakasih bagi anda yang sudah berkunjung
Sampai jumpa diartike selanjutnya.