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.