Master-Slave replikasiyası nədir və necə qurulur.
MySQL replikasiyası vasitəsilə data serverdə (master) olan dataların bir neçə serverlərə (slave) avtomatik kopyalanmasına imkan yaradır. Bu da bizə data serverdə problem yaransa onu əvəzləyə biləcək bir və ya bir neçə serverin olması üstünlüyünü verir. Master-slave bir tərəfli işləyir, yəni data yalnız master-dən slave-ə yazılır. Yazılma əməliyyatları master, oxunma əməliyyatları isə slave ilə aparılır. Bu replikasiyanı qurmaq üçün ən azı iki serverə ehtiyac olacaq.
Əvvəlcə virtual maşında iki data server yaratmaq lazımdır. Nəzərə alaq ki sistem artıq yüklənib. Qeyd edim ki, burada centos 7 isitfadə olunacaq. Hər iki maşında mysql eyni qaydada quraşdırılma aparılır. İlk öncə master serverdən (192.168.53.146) başlayaq
Yum install mariadb-server
Mysql statusunu yoxlayıb sönlüdürsə yandırırıq.
Systemctl status mariadb
systemctl start mariadb
Systemctl enable mariadb
Minimal install olduğuna görə lazımi bütün package-ləri özümüz yükləməliyik.
Yum install net-tools
3306 portunda mysqld servisinin işləndiyi görünür.
Netstat –nltp
İşlək servislər arasında mysql servisini tapıb firewall-a əlavə etmək lazımdır ki, servisə kənardan qoşulmanı təmin edək.
firewall-cmd — get-services | grep mysql — color
firewall-cmd — permanent — add-service=mysql
firewall-cmd –reload
mysql_secure_installation
Mysql-ə qoşulmazdan əvvəl bir sadə üsul istifadə edək mysql-ə user və pass yazmamaq üçün hər dəfə. root direktoriyasının altında vi my.cnf yaradıb içinə aşağıdakıları yazırıq.
İndi isə serverimizi konfiqurasiya edək ki, bu server master kimi fəaliyyət göstərsin və slave serveri dəyişiklikləri izləsin və özündə update etsin.
Vi /etc/my.cnf
mysql
qoşulub iki əlavə databaza və içində table yaradıb insert edərk.
Root istifadəçisi ilə slave istifadəçisi yaradıb ona replikasiya icazəlarini veririk.
Systemctl restart mariadb
Hazırda konfiqurasiya etdiyimiz master serverinin statusunu yoxlayırıq onun əsas iki parametrini yadda saxlamaq lazımdır. Slave server quraşdırarkən bizə lazım olacaq.
Mysqldump test > test.sql
Test olaraq test databazasanı götürdüm və yenidən mysql-ə qoşulub
Unlock tables
etmək lazımdır. Bu faylı digər serverə slave-ə ataq.
Scp test.sql root@192.168.53.145:/root/
Keçək slave (192.168.53.145) serverə.
yum install mariadb
systemctl enable mariadb
systemctl start mariadb
firewall-cmd — permanent — add-service=mysql
firewall-cmd — reload
systemctl start mariadb
mysql_secure_installation
sonra vi /etc/my.cnf faylı yaradıb içinə sətirləri əlavə edin. İkinci sətir hansi bazanın update olunmağını istəyiriksə adını yazırıq.
Export etdiyimiz faylı bura import edirik aşağıdakı kimi.
Və slave-də masterə qoşulmanı təmin konfiqləri yazaq.
Quraşdırılma hazırdır. İndi əgər masterə data yazsanız o slave-ə update olmuş olacaq.
Slave-de baxanda həmin insert etdiyimizi görəcik.