MySQL Galera CentOS 7
Indra (Xnuvers007)
CyberForce / Network
Engineer / Technical support
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
Pada kasus diatas sebelumnya jika ingin insta secara fresh MariaDB nya, ketik saja
ReplyDeletemysql_secure_installation
Sebelum perintah mysql -u root -p