Kaip nustatyti „MySQL Master-Slave“ replikaciją RHEL 8


MySQL replikacija yra procesas, kurio metu duomenys iš vieno serverio automatiškai nukopijuojami arba padauginami į kitą atsarginį serverį realiuoju laiku. Replikacija užtikrina dubliavimą ir atsparumą gedimams ir suteikia vartotojui ramybę, kad net ir po gedimo pagrindiniame serveryje duomenys vis tiek gali būti atkurti.

Šiame vadove sužinosite, kaip sukonfigūruoti ir nustatyti „MySQL“ pagrindinį-pavaldų replikaciją RHEL 8 Linux sistemoje.

Būtinos sąlygos

Atlikdami sąranką turėsime du serverius, kuriuose veiks RHEL 8 su šiais IP adresais.

Master = 173.82.120.14
Slave  = 173.82.115.165

Tęskime ir pažiūrėkime, kaip galime konfigūruoti „MySQL Master-slave“ replikacijos sąranką RHEL 8 Linux.

1 veiksmas: įdiekite „MySQL“ pagrindiniame ir pavaldiniame serveryje

1. Naujausia MySQL 8.x versija jau įtraukta į numatytąją RHEL 8 saugyklą ir ją galite įdiegti naudodami toliau nurodytus veiksmus. yum komanda.

yum -y install @mysql

2 veiksmas: apsaugokite „MySQL“ pagrindiniame ir pavaldiniame serveryje

Įdiegę turėtumėte paleisti ką tik įdiegtą MySQL paslaugą ir paleisti ją automatiškai kiekvieną kartą paleidus serverį. Todėl naudokite šią komandą.

systemctl enable mysqld
systemctl start mysqld

Tada turite apsaugoti savo MySQL diegimą paleisdami saugos scenarijų, kuris pateikiamas su keliomis sauga pagrįstomis operacijomis, pvz., nustatant pagrindinį slaptažodį, pašalinant anoniminius vartotojus, neleidžiant nuotoliniu būdu prisijungti prie root, pašalinti bandomąją duomenų bazę ir iš naujo įkelti privilegiją.

mysql_secure_installation

Tęskite likusią raginimo dalį ir į visus klausimus atsakykite Taip, todėl nustatykite serverį pagal geriausią saugos praktiką.

3 veiksmas: „MySQL Master Server“ konfigūravimas

Norėdami pradėti nuo pagrindinės serverio konfigūracijos, tęskite ir atidarykite MySQL konfigūracijos failą įvesdami šią komandą.

sudo vim /etc/my.cnf

Skiltyje mysqld pridėkite eilutes, kaip parodyta toliau.

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

Galiausiai iš naujo paleiskite MySQL paslaugą.

sudo systemctl restart mysqld

Dabar mes sukursime replikacijos vartotoją. Todėl prisijunkite prie pagrindinio MySQL serverio kaip root naudotojas ir pateikite slaptažodį.

sudo mysql -u root -p

Dabar paleiskite šias komandas, kad sukurtumėte replikos vartotoją, tuo pačiu metu suteikdami vartotojui pavaldaus prieigą. Nepamirškite naudoti savo mašinos IP adreso.

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

Dabar jūs ketinate įvesti šią komandą, kuri išspausdins dvejetainį failo pavadinimą ir poziciją.

mysql> SHOW MASTER STATUS\G

Nepamirškite įsidėmėti gauto failo pavadinimo msql-bin.000002 ir jo padėties 939.

4 veiksmas: „MySQL Slave Server“ konfigūravimas

Kaip ir nustatydami pagrindinį įrenginį, turėtumėte atlikti šiuos mysql slave konfigūracijos failo pakeitimus.

sudo vim  /etc/my.cnf

Konfigūracijos failo skiltyje mysqld pridėkite šias eilutes.

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

Iš naujo paleiskite serverį.

sudo systemctl restart mysqld

Dabar kitas žingsnis yra sukonfigūruoti pavaldinį serverį, kad jis daugintųsi iš pagrindinio serverio. Prisijunkite prie MySQL serverio.

sudo mysql -u root -p

Pirmiausia sustabdykite replikacijos gijas.

mysql> STOP SLAVE;

Dabar paleiskite šią užklausą, kuri sukonfigūruos vergą replikuoti iš pagrindinio serverio.

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

Įsitikinkite, kad naudojate teisingą IP vartotojo vardą ir slaptažodį. Taip pat naudokite failo pavadinimą ir poziciją, kurią gavote iš pagrindinio serverio.

Galiausiai įveskite šią komandą, kad paleistumėte vergo gijas.

mysql> START SLAVE;

5 veiksmas: „MySQL Master-Slave“ replikacijos testavimas

Šiuo metu baigėte pagrindinio ir pagalbinio serverio konfigūraciją. Dabar turime patikrinti, ar konfigūracija veikia ir ar galima replikuoti.

Norėdami tai padaryti, eikite į pagrindinį serverį ir prisijunkite prie MySQL duomenų bazės serverio.

sudo mysql -u root -p

Sukurkite pavyzdinę duomenų bazę.

mysql> CREATE DATABASE replication_database;

Dabar eikite į Slave serverį ir vėl prisijunkite prie MySQL duomenų bazės serverio.

sudo mysql -u root -p

Dabar surašykite visas duomenų bazes naudodami šią komandą.

mysql> SHOW DATABASES;

Jei matote sukurtą duomenų bazę, veikia MySQL Master-Slave Replication sąranka.

Išvada

Replikacija yra gana paprastas procesas, kurį galima lengvai atlikti. Šiame vadove sužinojote, kaip sukurti „MySQL“ pagrindinio kompiuterio replikaciją į pavaldų RHEL 8 Linux sistemoje.