RHEL 8-de MySQL ussat-gul köpeltmesini nädip sazlamaly


MySQL köpeltmek, bir serwerden maglumatlaryň awtomatiki usulda göçürilmegi ýa-da başga bir ätiýaçlyk serwere göçürilmegi. Gaýtalamak artykmaçlygy we ýalňyşlyga çydamlylygy üpjün edýär we ulanyja rahatlyk berýär, baş serwerde şowsuzlykdan soň hem maglumatlaryň dikeldilip bilinjekdigini.

Bu gollanmada, RHEL 8 Linux-da MySQL master-gul köpeltmesini nädip sazlamalydygyny we gurmalydygyny öwrenersiňiz.

Gurluşda, aşakdaky IP adresleri bilen RHEL 8 işleýän iki serwerimiz bolar.

Master = 173.82.120.14
Slave  = 173.82.115.165

Geliň indi RHEL 8 Linux-da MySQL Master-gul köpeltmek sazlamasyny nädip sazlap biljekdigimizi göreliň.

1-nji ädim: Master we gul serwerine MySQL guruň

1. MySQL 8.x-iň iň soňky wersiýasy RHEL 8-iň deslapky ammaryna girizildi we ony aşakdaky yum buýrugy bilen gurup bilersiňiz.

# yum -y install @mysql

2-nji ädim: Master we gul serwerinde MySQL-i ygtybarly ediň

Gurmakdan soň, ýaňy guran MySQL hyzmatyny başlamaly we her gezek serweri açanyňyzda awtomatiki başlamaly. Şonuň üçin aşakdaky buýrugy ulanyň.

# systemctl enable mysqld
# systemctl start mysqld

Ondan soň, kök parolyny kesgitlemek, näbelli ulanyjylary aýyrmak, kök girişini uzakdan gadagan etmek, synag bazasyny aýyrmak we artykmaçlyk ýüklemek ýaly birnäçe howpsuzlyk esasly amallar bilen gelýän howpsuzlyk skriptini işledip, MySQL gurnamagyňyzy üpjün etmeli.

# mysql_secure_installation

Talaplaryň galan bölegini dowam etdiriň we ähli soraglara Hawa jogap beriň, iň oňat howpsuzlyk amallary üçin serweri guruň.

3-nji ädim: MySQL Master Serwerini düzmek

Master serwer konfigurasiýasyndan başlamak üçin aşakdaky buýrugy ýazyp MySQL konfigurasiýa faýlyny açyň we açyň.

$ sudo vim /etc/my.cnf

mysqld bölüminde aşakda görkezilişi ýaly setirleri goşuň.

bind-address =173.82.120.14
server-id = 1
log_bin =mysql-bin

Ahyrynda MySQL hyzmatyny täzeden açyň.

$ sudo systemctl restart mysqld

Indi köpeltmek ulanyjysyny döretmekçi. Şonuň üçin MySQL baş serweriňize kök ulanyjy hökmünde giriň we paroly beriň.

$ sudo mysql -u root -p

Indi nusga ulanyjyny döretmek we şol bir wagtyň özünde guluň ulanyja girmegini üpjün etmek üçin aşakdaky buýruklary işlediň. Maşynlaryňyzyň IP adresini ulanmagy ýatdan çykarmaň.

mysql> CREATE USER 'replica'@'173.82.115.165' IDENTIFIED BY 'strong_password';
mysql> GRANT REPLICATION SLAVE ON *.*TO 'replica'@'173.82.115.165';

Indi, ikilik faýlyň adyny we ýerini çap etjek aşakdaky buýrugy ýazjak bolýarsyňyz.

mysql> SHOW MASTER STATUS\G

Alnan faýl adyna msql-bin.000002 we 939 ýagdaýyna üns bermegi ýatdan çykarmaň.

4-nji ädim: MySQL gul serwerini sazlamak

Ussady gurnamak prosesi ýaly, mysql gul konfigurasiýa faýlyna aşakdaky üýtgeşmeleri girizmeli.

$ sudo vim  /etc/my.cnf

Aşakdaky setirleri mysqld bölüminiň aşagyndaky konfigurasiýa faýlyna goşuň.

bind-address =173.82.115.165
server-id = 2
log_bin =mysql-bin

Serweri täzeden açyň.

$ sudo systemctl restart mysqld

Indi indiki ädim, gul serwerini Master serwerinden köpeltmek üçin düzmek. MySQL serwerine giriň.

$ sudo mysql -u root -p

Ilki bilen köpeltmek sapaklaryny duruzyň.

mysql> STOP SLAVE;

Indi, guluň Master serwerinden göçürilmegini düzjek aşakdaky soragy işlediň.

mysql> CHANGE MASTER TO
    -> MASTER_HOST='173.82.120.14' ,
    -> MASTER_USER='replica' ,
    -> MASTER_PASSWORD='[email ' ,
    -> MASTER_LOG_FILE='mysql-bin.000002' ,
    -> MASTER_LOG_POS=939;

Dogry IP ulanyjy adyny we paroly ulanýandygyňyza göz ýetiriň. Şeýle hem, baş serwerden alan faýlyňyzyň adyny we pozisiýasyny ulanyň.

Ahyrynda gul sapaklaryny başlamak üçin aşakdaky buýrugy ýazyň.

mysql> START SLAVE;

5-nji ädim: MySQL ussat-gul köpeltmesini barlamak

Bu pursatda ussa we gul serwerleriniň konfigurasiýasyny tamamladyňyz. Indi konfigurasiýanyň işleýändigini ýa-da köpeltmegiň bolup biljekdigini barlamaly.

Munuň üçin baş serwere çykyň we MySQL maglumat bazasynyň serwerine giriň.

$ sudo mysql -u root -p

Mysal üçin maglumat bazasyny dörediň.

mysql> CREATE DATABASE replication_database;

Indi “Slave” serwerine çykyň we “MySQL” maglumatlar bazasynyň serwerine giriň.

$ sudo mysql -u root -p

Indi aşakdaky buýrugy ulanyp, ähli maglumat bazalaryny sanaň.

mysql> SHOW DATABASES;

Döredilen maglumatlar binýadyny görseňiz, MySQL Master-Slave Replication gurnama işleýär.

Gaýtalamak aňsat ýerine ýetirip boljak gaty ýönekeý bir prosesdir. Bu gollanmada, RHEL 8 Linux-da gul etmek üçin MySQL ussasynyň köpeltmesini nädip döredip boljakdygyny öwrendiňiz.