Hvernig á að setja upp MySQL afritun í RHEL, Rocky og AlmaLinux


Gagnaafritun er ferlið við að afrita gögnin þín á marga netþjóna til að bæta gagnaframboð og auka áreiðanleika og afköst forrits. Í MySQL afritun eru gögn afrituð úr gagnagrunni frá aðalþjóninum til annarra hnúta í rauntíma til að tryggja samkvæmni gagna og einnig til að veita öryggisafrit og offramboð.

Í þessari handbók sýnum við hvernig þú getur sett upp MySQL (Master-Slave) afritun í RHEL-undirstaða dreifingar eins og CentOS, Fedora, Rocky Linux og AlmaLinux.

Svo, hér er MySQL afritunarstofuuppsetningin okkar.

MySQL Master - 10.128.0.14
MySQL Slave - 10.128.15.211

Byrjum…

Skref 1: Settu upp MySQL á Master og Slave Server

Við byrjum á því að setja upp MySQL gagnagrunninn bæði á master- og þrælaþjónum.

$ sudo dnf install @mysql

Þegar uppsetningunni er lokið skaltu leggja áherslu á að ræsa gagnagrunnsþjóninn.

$ sudo systemctl start mysqld

Virkjaðu síðan til að hefja ræsingu kerfisins eða við endurræsingu.

$ sudo systemctl enable mysqld

Eftir það skaltu staðfesta að MySQL gagnagrunnsþjónninn sé í gangi eins og sýnt er:

$ sudo systemctl status mysqld

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

Næsta skref er að tryggja MySQL gagnagrunninn bæði á master- og þrælaþjónum. Þetta er vegna þess að sjálfgefnar stillingar eru óöruggar og sýna nokkrar glufur sem tölvuþrjótar geta auðveldlega nýtt sér.

Svo, til að herða MySQL, keyrðu skipunina:

$ sudo mysql_secure_installation

Fyrst verður þú að stilla MySQL rót lykilorðið. Vertu viss um að gefa upp sterkt rótarlykilorð, helst með fleiri en 8 stöfum sem eru blanda af hástöfum, lágstöfum, sérstöfum og tölustöfum.

Sláðu inn Y fyrir þær kvaðningar sem eftir eru til að stilla gagnagrunnsþjóninn í þær stillingar sem mælt er með.

Þegar þú hefur lokið við að setja upp og herða MySQL á master- og þrælhnútnum er næsta að stilla master-hnútinn.

Skref 3: Stilltu Master Node (þjónn)

Næsta skref er að stilla Master hnútinn og veita þrælhnútnum aðgang að honum. Fyrst þurfum við að breyta mysql-server.cnf stillingarskránni.

$ sudo vim /etc/my.cnf.d/mysql-server.cnf

Bættu við eftirfarandi línum undir [mysqld] hlutanum.

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

Þegar því er lokið skaltu vista breytingarnar og hætta. Endurræstu síðan MySQL þjóninn.

$ sudo sysemctl restart mysqld

Næst skaltu skrá þig inn í MySQL skel.

$ sudo mysql -u root -p

Framkvæmdu eftirfarandi skipanir til að búa til gagnagrunnsnotanda sem verður notaður til að binda skipstjóra og þræl fyrir afritun.

mysql> CREATE USER 'replica'@'10.128.15.211' IDENTIFIED BY '[email ';
mysql> GRANT REPLICATION SLAVE ON *.*TO 'replica'@'10.128.15.211';

Notaðu breytingarnar og farðu úr MySQL þjóninum.

mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Staðfestu stöðu skipstjóra.

mysql> SHOW MASTER STATUS\G

Taktu eftir skráarnafni og stöðu. Þú þarft þetta síðar þegar þú setur upp þrælinn fyrir afritun. Í okkar tilviki höfum við skráarnafnið sem mysql-bin.000001 og stöðu 1232.

Skref 4: Stilltu þrælahnútinn (þjónn)

Farðu nú aftur að þrælahnútnum. Enn og aftur, breyttu mysql-server.cnf stillingarskránni.

$ sudo vim /etc/my.cnf.d/mysql-server.cnf

Eins og áður, límdu þessar línur undir [mysqld] hlutann. Breyttu IP-tölu til að samsvara IP-tölu þrælsins. Úthlutaðu líka öðru netþjóns-auðkenni. Hér höfum við úthlutað því gildinu 2.

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

Vistaðu breytingarnar og lokaðu skránni. Endurræstu síðan gagnagrunnsþjóninn.

$ sudo systemctl restart mysqld

Til að stilla þrælahnútinn þannig að hann endurtaki sig frá Master hnút, skráðu þig inn á MySQL þjón þrælsins.

$ sudo mysql -u root -p

Fyrst og fremst skaltu stöðva afritunarþræðina:

mysql> STOP SLAVE;

Framkvæmdu síðan eftirfarandi skipun til að stilla þrælhnútinn til að endurtaka gagnagrunna frá skipstjóranum.

mysql> CHANGE MASTER TO
     MASTER_HOST='10.128.0.14' ,
     MASTER_USER='replica' ,
     MASTER_PASSWORD='[email ' ,
     MASTER_LOG_FILE='mysql-bin.000001' ,
     MASTER_LOG_POS=1232;

Athugaðu að MASTER_LOG_FILE og MASTER_LOG_POS fánar samsvara skráar- og staðsetningargildum frá Master hnút í lok skrefs 1.

MASTER_HOST, MASTER_USER og MASTER_PASSWORD samsvara IP-tölu aðal, afritunarnotanda og lykilorði afritunarnotanda í sömu röð.

Byrjaðu síðan þrælafritunarþræðina:

mysql> START SLAVE;

Skref 4: Prófa MySQL Master-Slave afritun

Nú, til að prófa hvort afritun milli aðal- og þrælahnútsins virkar, skráðu þig inn á MySQL gagnagrunnsþjóninn á aðalhnútnum:

$ sudo mysql -u root -p

Búðu til prófunargagnagrunn. Hér er prófunargagnagrunnurinn okkar kallaður replication_db.

mysql> CREATE DATABASE replication_db;
Verify the existence of the database.
mysql> SHOW DATABASES;

Farðu nú yfir á þrælahnútinn, skráðu þig inn á MySQL netþjóninn og staðfestu að replication_db gagnagrunnurinn sé til staðar. Af úttakinu hér að neðan getum við séð að gagnagrunnurinn er til staðar. Þetta er staðfesting á því að afritun hafi átt sér stað frá meistaranum yfir í þrælhnútinn.

mysql> SHOW DATABASES;

Og það er það, við höfum sýnt með góðum árangri hvernig þú getur sett upp MySQL master-slave afritunarlíkan sem getur endurtekið gagnagrunna frá master hnút til þræls hnút.