Kako postaviti MySQL Master-Slave replikaciju na RHEL 8


MySQL replikacija je proces u kojem se podaci s jednog poslužitelja automatski kopiraju ili repliciraju na drugi rezervni poslužitelj u stvarnom vremenu. Replikacija pruža redundanciju i toleranciju na pogreške te daje korisniku mir da se podaci još uvijek mogu oporaviti čak i nakon kvara na glavnom poslužitelju.

U ovom vodiču ćete naučiti kako konfigurirati i postaviti MySQL master-slave replikaciju na RHEL 8 Linux.

Preduvjeti

U postavljanju ćemo imati dva poslužitelja koji pokreću RHEL 8 sa sljedećim IP adresama.

Master = 173.82.120.14
Slave  = 173.82.115.165

Nastavimo sada i vidimo kako možemo konfigurirati postavku replikacije MySQL Master-slave na RHEL 8 Linux.

Korak 1: Instalirajte MySQL na glavni i podređeni poslužitelj

1. Najnovija verzija MySQL 8.x već je uključena u zadani repozitorij RHEL 8 i možete je instalirati pomoću sljedećeg njam naredba.

yum -y install @mysql

Korak 2: Osigurajte MySQL na glavnom i podređenom poslužitelju

Nakon instalacije, sada biste trebali pokrenuti uslugu MySQL koju ste upravo instalirali i pokrenuti je automatski svaki put kada pokrenete poslužitelj. Stoga koristite sljedeću naredbu.

systemctl enable mysqld
systemctl start mysqld

Zatim morate osigurati svoju MySQL instalaciju pokretanjem sigurnosne skripte koja dolazi s nekoliko operacija temeljenih na sigurnosti kao što su postavljanje root lozinke, uklanjanje anonimnih korisnika, onemogućavanje root prijave na daljinu, uklanjanje test baze podataka i ponovno učitavanje privilegije.

mysql_secure_installation

Nastavite s ostatkom upita i odgovorite Da na sva pitanja pa postavite poslužitelj prema najboljim sigurnosnim praksama.

Korak 3: Konfiguriranje MySQL glavnog poslužitelja

Da biste započeli s konfiguracijom poslužitelja Master, nastavite i otvorite MySQL konfiguracijsku datoteku upisivanjem sljedeće naredbe.

sudo vim /etc/my.cnf

U odjeljak mysqld dodajte retke kao što je prikazano u nastavku.

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

Na kraju ponovno pokrenite uslugu MySQL.

sudo systemctl restart mysqld

Sada ćemo kreirati korisnika replikacije. Stoga se prijavite na svoj MySQL glavni poslužitelj kao root korisnik i unesite lozinku.

sudo mysql -u root -p

Sada pokrenite sljedeće naredbe za kreiranje korisnika replike dok u isto vrijeme korisniku dopuštate podređeni pristup. Ne zaboravite koristiti IP adresu svog računala.

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

Sada ćete upisati sljedeću naredbu koja će ispisati naziv i poziciju binarne datoteke.

mysql> SHOW MASTER STATUS\G

Ne zaboravite zabilježiti rezultirajući naziv datoteke msql-bin.000002 i njen položaj 939.

Korak 4: Konfiguriranje MySQL podređenog poslužitelja

Baš kao i kod postupka postavljanja mastera, trebali biste napraviti sljedeće promjene u mysql slave konfiguracijskoj datoteci.

sudo vim  /etc/my.cnf

Dodajte sljedeće retke u konfiguracijsku datoteku u odjeljku mysqld.

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

Ponovno pokrenite poslužitelj.

sudo systemctl restart mysqld

Sada je sljedeći korak konfiguriranje podređenog poslužitelja za repliciranje s glavnog poslužitelja. Prijavite se na MySQL poslužitelj.

sudo mysql -u root -p

Prvo zaustavite replikacijske niti.

mysql> STOP SLAVE;

Sada pokrenite sljedeći upit koji će konfigurirati podređeni poslužitelj za repliciranje s glavnog poslužitelja.

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;

Provjerite koristite li ispravno IP korisničko ime i lozinku. Također, koristite naziv datoteke i poziciju koju ste dobili od glavnog poslužitelja.

Na kraju, upišite sljedeću naredbu za pokretanje podređenih niti.

mysql> START SLAVE;

Korak 5: Testiranje replikacije MySQL Master-Slave

U ovom trenutku ste dovršili konfiguraciju i glavnog i podređenog poslužitelja. Sada moramo provjeriti radi li konfiguracija i može li se izvršiti replikacija.

Da biste to učinili, idite na glavni poslužitelj i prijavite se na MySQL poslužitelj baze podataka.

sudo mysql -u root -p

Napravite oglednu bazu podataka.

mysql> CREATE DATABASE replication_database;

Sada idite na Slave poslužitelj i ponovno se prijavite na MySQL poslužitelj baze podataka.

sudo mysql -u root -p

Sada ispišite sve baze podataka pomoću sljedeće naredbe.

mysql> SHOW DATABASES;

Ako vidite stvorenu bazu podataka, tada postavka MySQL Master-Slave Replication radi.

Zaključak

Replikacija je prilično jednostavan proces koji se može lako izvesti. U ovom ste vodiču naučili kako možete stvoriti replikaciju MySQL mastera u slave u RHEL 8 Linuxu.