Friday, June 2, 2017

Lab 9.9 Replication mysql centos 7


asalamualaikum wr wb 

pada kali ini saya akan share tutorial yaitu  Konfigurasi Replication mysql Centos 7. jadi replication ini berguna agar server pada databasenya itu bisa di singkronisasi antara server masternya dan server lainnya secara otomatis. jika si server database master membuat database, dengan otomatis si server lainnya akan terdapat juga database yang telah dibuat oleh si master.. secara gambaran fungsi replication seperti itu.

okee.. untuk mempersingkat waktu kita mulai saja konfigurasinya..

Persiapan

untuk persiapan yang dibutuhkan adalah :
  • telah terinstall apache pada centos kalian
  • sudah ada database mariadbnya di kedua server. bagi yang belum kunjungi saja DISINI

Pada Database Replication di MySQL Proses sinkronisasi antara server master dan server slave yaitu dengan mencocokan UUID. Apa itu UUID?, Universally unique identifier (UUID) adalah standar identifier unik yang digunakan dalam pembuatan perangkat lunak. UUID pada dasarnya adalah angka 128 bit, yang disajikan dalam bentuk pengelompokan hexadesimal.

Nah, berhubung disini server slave saya merupakan hasil clone dari server master, maka dari itu harus mengganti UUIDnya terlebih dahulu, karena jika tidak diganti maka proses sinkronisasi antara server master dan slave akan gagal, karena diketahui UUIDnya sama atau bentrok.

untuk caranya sangat mudah hanya dengan mengubah salah satu UUID nya pada servernya. disini yang saya ubah hanya server nodenya dan server master nya tidak saya ubah. nahh untuk filenya ada di direktori /var/opt/rh/my-mysql57/lib/mysql/ dan file itu bernama auto.conf jadi kita edit dah tuh file.

nano /var/opt/rh/my-mysql57/lib/mysql/auto.conf

setelah masuk kalian ubah deh server UUIDnya, disini saya ubah dari 4 menjadi 5 pada slave nya. jika dibedakan maka akan seperti pada gambar di bawah ini.



cara ini sebaiknya hanya dilakukan jika ingin melakukan pengetesan saja atau hanya sebatas ingin mengkonfigurasinya, jika kalian ingin benar benar membangun untuk sebuah instansi atau perusahaan atau yang bagi kalian penting buat bisnis, saya sarankan jangan melakukan cloning serta mengubah UUIDnya karena takutnya nanti akan terjadi kesalahan yang complex, jadi saya sarankan untuk yang berhubungan ke suatu hal penting jangan di clone dan sebaiknya di install saja database nya.

oke.. setelah panjang lebar saya melakukan persiapan, kita mulai lanjut saja..

TOPOLOGI


Konfigurasi Server Master

1. pertama kalian edit konfigurasi mysql, dan file itu adalah rh-mysql57-mysql-server.cnf yang terletak di direktori /etc/opt/rh/rh-mysql57/my.cnf.d/ 


2. selanjutnya kita tambahkan sintaks di bawah [mysqld] seperti pada gambar di bawah.


log-bin=mysql-bin merupakan binary untuk logging sql, yaitu mysql.bin


server-id=1 merupakan penamaan saja pada server agar kita bisa tahu mana yang nomer server master nya dan mana yang tidak.. dan ini hanya berlaku untuk angka, untuk huruf serta kata ataupun kalimat tidak bisa digunakan

3. selanjutnya kita restart service mysql nya agar konfigurasi sebelumnya berjalan.




4. selanjutnya kita akan membuat user. tapi sebelum itu kita harus masuk ke bash mysql nya.. oh yaa user ini nantinya akan digunakan untuk replication pada server slave.


5. sebelum kita mulai membuat user replication nya, kita hentikan dulu mode slave nya di server master.



6. selanjutnya kita buat deh user replication. disini saya beri nama usernya replication dan passwordnya rahasia




7. selanjutnya kita jalankan perintah flush privileges; yang berguna untuk mereload menyuruh server untuk membaca ulang tabel hak akses.



8. keluar deh dari bash mysql nya.


9. selanjutnya kita izinkan service mysql nya pada firewall dan jangan lupa untuk mereload firewall nya.


Konfigurasi Server Slave

1. sekarang kita masuk ke server slave. pertama yang kita lakukan adalah mengkonfigurasi file eh-mysql57-mysql-server.cnf yang berada di direktori /etc/opt/rh/rh-mysql57/my.cnf.d/ ditahap ini kita lakukan untuk mengatur id server pada replication dan untuk mengatur lognya serta yang lainnya.


2. sekarang kalian tambahkan sintaks di bawah [mysqld] seperti pada gambar di bawah. utuk server-id usahakan berbeda dengan server-id yang ada di server masternya.


read_only=1 yang berarti kita mengaktifkan akses read_only database pada server slavenya. jadi si slave ini hanya bisa membaca aja dan tidak bisa melakukan pembaharuan terhadap database.


report-host=node1.adityax.com merupakan host dari server slave itu sendiri, bisa anda atur menjadi nama domain, hostname, atau ip address server slave kalian. Disini saya mengaturnya dengan domain.

3. sekarang kita restart service mysql pada server slave.


4. jangan lupa kalian izinkan service mysql nya pada firewall serta mereload firewallnya di server slave nya.



Masuk ke Server Master Lagi

1.  kita masuk lagi ke server masternya, lalu kita masuk ke bash mysql nya.


2. setelah masuk ke bash nya, kita lakukan flush terhadap semua tables yang terbuka. Tabel baru hanya diperbolehkan dibuka dengan read lock sampai perintah unlock tables; dijalankan


3. sekarang kita akan mengecek status master dengan perintah show master status; kita melakukan ini berguna untuk melihat file beserta position masternya yang nantinya kita akan gunakan pada saat slave melakukan join replication ke master.


4. setelah selesai kita exit dari bash mysql nya.


5. sekarang kita akan melakukan backup semua database dari server master ke server slave dengan menggunakan mysqldump. backup ini nantinya akan kita restore atau akan di transfer ke server slave. ohh ya nanti kalian akan dimintai password mysql nya.


6. selanjutnya kita masuk lagi ke bash mysql nya.


7. sekarang kita lakukan unlock tables yang berguna untuk melepas global (semua) read lock yang diperoleh pada perintah flush tables with read lock;


8. kita exit dari bash mysql nya.


9. setelah keluar kita copy file mysql_dump.sql yang merupakan file backupan yang kita buat sebelumnya, lalu kita kirimkan ke server slave nya dan ditaruh dimana aja. klo disini saya naruhnya di direktori /tmp/ pada server slave nya.


Masuk Ke Server Slave

1. sekarang kita masuk ke server slave nya. disini kita akan melakukan restore dump backup mysql_dump.sql yang tadi dikirim dari server master.


dengan simbol < diatas, kita akan memasukkan file /tmp/mysql_dump.sql kedalam mysq -u root -p sebagai input

2. masuk ke bash mysql nya.


3. sekarang kita akan melakukan join dari slave ke master dan caranya seperti gambar di bawah ini. sesuaikan host masternya, user masternya beserta passwordnya dan log file master beserta log pos masternya yang ada pada server master kalian.


change master to merupakan sintaks yang digunakan untuk mengatur parameter pada server slave untuk terhubung dan berkomunikasi dengan server master selama replikasi.

master_host : merupakan alamat host server master

master_user : merupakan user replica pada server master

master_password : password yg digunakan dari user tersebut

master_log_file : ini merupakan log file milik master. Jadi anda bisa melihatnya pada show master status yang sebelumnya dilakukan.

master_log_pos : merupakan position yang terlihat pada proses show master status yang sebelumnya dilakukan.

4. sekarang kita start slave nya bagi yang belum mengaktifkan slave nya. bagi yang sudah kalian stop dulu baru kalian start slavenya.


Veritifikasi dan pengujian

untuk veritifikasi saja. pada server slave kita lakukan cek status slave dengan perintah show slave status\G untuk keterangan \G ini digunakan untuk output yang dihasilkan tertata secara rapi. Hal ini dilakukan pada server slave.


untuk veritifikasi pada client nya. kita cukup membuka phpmyadmin pada server master nya. disini server masternya sudah saya beri domain, jadi yang saya masukkan adalah nama domain dari server masternya yaitu www.adityax.com/phpMyAdmin/ setelah masuk ke phpmyadmin pada server master. disitu kita buat database yang gunanya untuk mengecek apakah pada server slave nya itu ikut muncul atau terbuat databasenya. jadi buat dulu deh database pada masternya.. 


setelah terbuat kalian masuk ke  phpmyadmin pada slave nya. disini phpmyadmin slave nya saya memakai domain, jadi yang saya ketikkan adalah domain pada server slave nya yaitu node1.adityax.com/phpMyAdmin/ setelah masuk kalian cek database yang tadi dibuat di server master itu dah ada belum di slave nya.. klo sudah ada berarti konfigurasi yang kalian lakukan selama ini telah berhasil dengan memuaskan.


yeee selesai sudah kita ngeconfig database replication nya..
sekian dari saya, mohon maaf bila ada kesalahan dan saya ucapkan terimakasih bagi yang mengunjungi blog ini
semoga bermanfaat :)

Lorem ipsum is simply dummy text of the printing and typesetting industry.


EmoticonEmoticon