Hvernig á að setja upp MySQL Master-Slave afritun á RHEL 8


MySQL afritun er ferli þar sem gögn frá einum netþjóni eru sjálfkrafa afrituð eða afrituð á annan afritunarþjón í rauntíma. Afritun veitir offramboð og bilanaþol og veitir notanda hugarró að jafnvel eftir bilun í aðalþjóninum er enn hægt að endurheimta gögn.

Í þessari kennslu ertu að fara að læra hvernig á að stilla og setja upp MySQL master-slave afritun á RHEL 8 Linux.

Í uppsetningunni ætlum við að hafa tvo netþjóna sem keyra RHEL 8 með eftirfarandi IP tölum.

Master = 173.82.120.14
Slave  = 173.82.115.165

Við skulum nú halda áfram og sjá hvernig við getum stillt MySQL Master-slave afritunaruppsetninguna á RHEL 8 Linux.

Skref 1: Settu upp MySQL á Master og Slave Server

1. Nýjasta útgáfan af MySQL 8.x er þegar innifalin í sjálfgefna geymslu RHEL 8 og þú getur sett hana upp með því að nota eftirfarandi yum skipun.

# yum -y install @mysql

Skref 2: Öruggaðu MySQL á Master og Slave Server

Eftir uppsetninguna ættirðu nú að ræsa MySQL þjónustuna sem þú varst að setja upp og láta hana byrja sjálfkrafa í hvert skipti sem þú ræsir netþjóninn. Þess vegna skaltu nota eftirfarandi skipun.

# systemctl enable mysqld
# systemctl start mysqld

Næst þarftu að tryggja MySQL uppsetninguna þína með því að keyra öryggisforskriftina sem fylgir nokkrum öryggistengdum aðgerðum eins og að stilla rótarlykilorðið, fjarlægja nafnlausa notendur, banna rótarinnskráningu fjarstýrt, fjarlægja prófunargagnagrunn og endurhlaða forréttindi.

# mysql_secure_installation

Haltu áfram með afganginn af leiðbeiningunum og svaraðu við öllum spurningunum svo stilltu þjóninn upp eftir bestu öryggisvenjum.

Skref 3: Stilla MySQL Master Server

Til að byrja með uppsetningu Master miðlara skaltu halda áfram og opna MySQL stillingarskrána með því að slá inn eftirfarandi skipun.

$ sudo vim /etc/my.cnf

Í mysqld hlutanum skaltu bæta við línunum eins og sýnt er hér að neðan.

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

Að lokum skaltu endurræsa MySQL þjónustuna.

$ sudo systemctl restart mysqld

Nú ætlum við að búa til afritunarnotanda. Skráðu þig því inn á MySQL aðalþjóninn þinn sem rótnotanda og gefðu upp lykilorðið.

$ sudo mysql -u root -p

Keyrðu nú eftirfarandi skipanir til að búa til eftirmyndarnotandann á sama tíma og veitir þrælnum aðgang að notandanum. Mundu að nota IP tölu vélarinnar þinnar.

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

Nú ertu að fara að slá inn eftirfarandi skipun sem mun prenta tvöfalda skráarnafnið og stöðuna.

mysql> SHOW MASTER STATUS\G

Mundu að taka eftir skráarnafninu msql-bin.000002 og stöðu þess 939.

Skref 4: Stilla MySQL þrælaþjóninn

Rétt eins og ferlið við að setja upp meistarann, ættir þú að gera eftirfarandi breytingar á mysql þræluppsetningarskránni.

$ sudo vim  /etc/my.cnf

Bættu við eftirfarandi línum í stillingarskrána undir mysqld hlutanum.

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

Endurræstu þjóninn.

$ sudo systemctl restart mysqld

Nú er næsta skref að stilla þrælaþjóninn þannig að hann endurtaki sig frá Master netþjóninum. Skráðu þig inn á MySQL miðlara.

$ sudo mysql -u root -p

Fyrst skaltu stöðva afritunarþræðina.

mysql> STOP SLAVE;

Keyrðu nú eftirfarandi fyrirspurn sem mun stilla þrælinn til að endurtaka frá Master netþjóninum.

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;

Gakktu úr skugga um að þú sért að nota rétt IP notendanafn og lykilorð. Notaðu líka skráarnafnið og stöðuna sem þú fékkst frá aðalþjóninum.

Að lokum skaltu slá inn eftirfarandi skipun til að hefja þrælþræðina.

mysql> START SLAVE;

Skref 5: Prófa MySQL Master-Slave afritun

Á þessum tímapunkti hefurðu lokið við uppsetningu bæði aðal- og þrælaþjónanna. Við þurfum nú að staðfesta hvort uppsetningin virki og hvort afritunin geti átt sér stað.

Til að gera þetta, farðu út á aðalþjóninn og skráðu þig inn á MySQL gagnagrunnsþjóninn.

$ sudo mysql -u root -p

Búðu til sýnishornsgagnagrunn.

mysql> CREATE DATABASE replication_database;

Farðu nú út á þrælaþjóninn og skráðu þig aftur inn á MySQL gagnagrunnsþjóninn.

$ sudo mysql -u root -p

Listaðu nú alla gagnagrunna með því að nota eftirfarandi skipun.

mysql> SHOW DATABASES;

Ef þú sérð stofnaðan gagnagrunn, þá virkar MySQL Master-Slave Replication uppsetningin.

Afritun er frekar einfalt ferli sem auðvelt er að gera. Í þessari handbók hefur þú lært hvernig þú getur búið til afrit af MySQL meistara til að þræla í RHEL 8 Linux.