Cara Mengkonfigurasi MySQL Galera versi Cluster di CentOS 7

 

 

MySQL Galera CentOS 7

Indra (Xnuvers007)

CyberForce / Network Engineer / Technical support

Belajar Big Data 

Catatan: apasih Galera itu dan apa pentingnya pada sebuah database seperti mysql ? jadi galera berfungsi sebagai untuk selalu/always Online databasenya, sampai sistem operasi tersebut berhenti/shutdown/dimatikan oleh user database mysql nya
nah cluster , apasih cluster itu ? cluster bisa kita ibaratkan seperti akar / cloningan, jadi jika kita membuat konfigurasi di database 1 maka akan sama konfigurasi ke databse 2 dan database 3


Bahan :

1.       Internet

2.       Mysql

3.       Centos 7

4.       Remote / putty / MobaXterm

5.       Virtual box (untuk membuat server/node)

 

Langkah – Langkah:

Pertama download iso centos 7, lalu setting seperti biasa di virtual box agar terkoneksi dengan internet dan bisa di ping ke google / sesama node server client

 

Jangan lupa untuk download curl dan menyetting pada bagian nano /etc/hosts



Lalu download MariaDB / MySQL Galera cluster 3 node

Dengan cara mengetik perintah seperti ini di centos pada server 1 sampai 3, karena menggunakan 3 buah node server ip dengan ip berbeda dan terhubung kedalam internet

 

Install curl

Yum install curl

 

Download galera MySQL

 

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | bash

 

setelah itu ketik perintah:

 

yum makecache fast

 

setelah itu install mariadb server dan galera serta rsync nya juga dengan mengetik perintah :

yum install –y mariadb-libs mariadb-server galera rsync mariadb*

 

jangan lupa untuk melihat versi mariadb tersebut



Mariadb --version

 

lalu install firewalld


nb: dalam kasus ini, kamu boleh menggunakan firewall dan boleh tanpa firewall, jika tanpa firewall lewatkan saja bagian ini dan langsung ke setenforce 0


sudo yum install firewalld

 

lalu start dan enable

sudo systemctl enable firewalld ; sudo systemctl start firewalld

 

lalu tambahkan port firewall yang ingin di gunakan:

firewall-cmd --permanent --add-service=mysql

firewall-cmd --permanent --add-port={4567,4568,4444}/tcp

firewall-cmd --reload

 

jangan lupa untuk menjadikan selinux sebagai Permissive (longgar)

dengan cara

 

setenforce 0

 

install nano

 

yum install nano

 

setelah itu lakukan konfigurasi sebagai berikut dengan masuk ke dalam path

nano /etc/my.cnf.d/server.cnf

 

lakukan konfigurasi server.cnf ke 3 node tersebut, karena disini menggunakan 3 node ip server

untk node pertama

gunakan/masukan konfig ini



Untuk node address gunakan ip / hostname dari node tersebut

Node name bebas namanya

 

Pada node ke dua masukan konfig seperti ini

Sebelumnya node 2 dan 3 harus udah install mariadb dan juga galera nya

 

Node 2:



 

Node 3:



Setelah itu pada node 1 ketikan perintah :

chmod 775 /etc/my.cnf untuk  permission pada folder etc dan my.cnf

ln -s /usr/lib64/galera-4 /usr/lib64/galera perintah ini digunakkan karena terdapat pada config server.cnf yakni wsrep_provider

 

setelah itu pada node 1 ketikan perintah:

galera_new_cluster

 

sudo systemctl enable mariadb

 

lalu start mariadb pada node 1

 

sudo systemctl start mariadb

sama dengan node 2 dan 3 tapi tidak usah menggunakan galera_new_cluster

 

(maksudnya adalah seperti ini

Node1 :

galera_new_cluster, lalu enable, lalu start / restart

 

Node2:

Sudo systemctl enable mariadb; Sudo systemctl start mariadb

 

Node3:

Sudo systemctl enable mariadb; sudo systemctl start mariadb)

 

setelah itu masukan perintah

mysql -u root  -p

masukan Password

 

jika sudah maka tampilannya seperti ini…



 

Setelah itu pada MySQL / MariaDB masukan perintah untuk mengecek apakah cluster sudah connect atau belum, seperti:

 

Masukan show databases;

 

MariaDB [(none)]> show databases;

Maka kita bisa melihat database apa aja yang tersimpan di dalam MySQL



 

Setelah itu kita cek dan liat kondisi cluster galera tersebut dengan cara

 

(Node 1)



 

nanti akan terlihat output wsrep blablabla

setelah itu , kita mengecek, apakah sudah cluster sudah masuk atau belum / sudah berhasil di konfigurasikan atau belum… yakni dengan cara melihat pada bagian status wsrep tersebut

 

 



 

Lihat pada bagian wsrep connected, jika on maka sudah terhubung

Dan lihat wsrep ready jika on maka sudah ready dan siap digunakkan alias sudah berhasil on dan nyala

 

Setelah itu mengetik pada mysql dan membuat databases serta melihat di node server lain

Dengan cara

Masuk mysql pada node server 1

 

Mysql -u  root –p

Masukan password

Lalu ketik

 

create database (nama database, bebas);

lalu cek lagi database tersebut apa sudah masuk atau belum ?

dengan cara menggunakan perintah show databases;

 



Disini saya membuat database dengan nama testclustergalera Pada node 1 ip server

 

Lalu cek pada node 2 apakah databases yang kita buat di node 1 akan muncul di node 2

Caranya ketik

 

show databases;



 

Dan masuk, artinya sudah berhasil, begitupula yang ada di node server 3

 



 

Untuk penguji coba buat menghapusnya adalah dengan menggunakan perintah

drop database (nama database);

 

disini saya akan menggunakan server 3 untuk menghapus database, apakah akan terhapus juga di server 1 dan 2 ? mari eksekusi

 

yang pertama show databases;

lihat databases yang ingin dihapus ,karena disini saya ingin menghapus databases testclustergalera maka saya akan menggunakan perintah

drop database testclustergalera;  (nama database diketik sesuai, besar kecil berpengaruh)



Databases testclustergalera sudah hilang di node 3, mari kita cek di node 2

 

Ketik show databases;

 


 

Coba kita cek di node server 1

 



 

Hilang….

 

Demikian dokumentasi saya tentang MySQL Cluster Galera

 

Nb : jika terdapat tulisan muncul error grastate blablabla , ubah bagian grastate.dat dengan cara masuk ke node 1 lalu “sudo nano /var/lib/mysql/grastate.dat” ubah safe to bootstrap menjadi 1 , hanya di node 1 aja , setelah itu galera_new_cluster lalu sudo systemctl restart mariadb dan node 2 dan 3 hanya sudo systemctl restart mariadb tanpa galera_new_cluster

 



 

Kalo gak tau, tanya aja atau komentar

 

Instagram = https://www.instagram.com/indradwi.25/

Github = https://github.com/Xnuvers007

1 Comments

  1. Pada kasus diatas sebelumnya jika ingin insta secara fresh MariaDB nya, ketik saja

    mysql_secure_installation

    Sebelum perintah mysql -u root -p

    ReplyDelete
Previous Post Next Post