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.