Slik konfigurerer du MySQL Master-Slave-replikering på RHEL 8
MySQL-replikering er en prosess der data fra én server automatisk kopieres eller replikeres til en annen backupserver i sanntid. Replikering gir redundans og feiltoleranse og gir brukeren trygghet i at selv etter en feil i hovedserveren kan data fortsatt gjenopprettes.
I denne opplæringen skal du lære hvordan du konfigurerer og setter opp en MySQL master-slave-replikering på en RHEL 8 Linux.
Forutsetninger
I oppsettet kommer vi til å ha to servere som kjører RHEL 8 med følgende IP-adresser.
Master = 173.82.120.14
Slave = 173.82.115.165
La oss nå fortsette og se hvordan vi kan konfigurere MySQL Master-slave-replikeringsoppsettet på RHEL 8 Linux.
Trinn 1: Installer MySQL på Master og Slave Server
1. Den nyeste versjonen av MySQL 8.x er allerede inkludert i standarddepotet til RHEL 8, og du kan installere det ved å bruke følgende nam kommando.
yum -y install @mysql
Trinn 2: Sikre MySQL på Master og Slave Server
Etter installasjonen bør du nå starte MySQL-tjenesten du nettopp installerte og få den til å starte automatisk hver gang du starter serveren. Bruk derfor følgende kommando.
systemctl enable mysqld
systemctl start mysqld
Deretter må du sikre MySQL-installasjonen din ved å kjøre sikkerhetsskriptet som følger med flere sikkerhetsbaserte operasjoner som å angi root-passordet, fjerne anonyme brukere, nekte root-pålogging eksternt, fjerne testdatabase og laste inn på nytt privilegium.
mysql_secure_installation
Fortsett med resten av forespørselen og svar Ja
på alle spørsmålene, så konfigurer serveren til beste sikkerhetspraksis.
Trinn 3: Konfigurere MySQL Master Server
For å starte med Master-serverkonfigurasjonen, fortsett og åpne MySQL-konfigurasjonsfilen ved å skrive inn følgende kommando.
sudo vim /etc/my.cnf
I mysqld
-delen legger du til linjene som vist nedenfor.
bind-address =173.82.120.14
server-id = 1
log_bin =mysql-bin
Til slutt starter du MySQL-tjenesten på nytt.
sudo systemctl restart mysqld
Nå skal vi opprette en replikeringsbruker. Logg derfor på MySQL-masterserveren som root-bruker og oppgi passordet.
sudo mysql -u root -p
Kjør nå følgende kommandoer for å opprette replikabrukeren samtidig som du gir slavetilgangen til brukeren. Husk å bruke maskinens IP-adresse.
mysql> CREATE USER 'replica'@'173.82.115.165' IDENTIFIED BY 'strong_password';
mysql> GRANT REPLICATION SLAVE ON *.*TO 'replica'@'173.82.115.165';
Nå skal du skrive inn følgende kommando som vil skrive ut det binære filnavnet og posisjonen.
mysql> SHOW MASTER STATUS\G
Husk å legge merke til det resulterende filnavnet msql-bin.000002
og dets posisjon 939
.
Trinn 4: Konfigurere MySQL-slaveserveren
Akkurat som prosessen med å sette opp masteren, bør du gjøre følgende endringer i mysql slave konfigurasjonsfilen.
sudo vim /etc/my.cnf
Legg til følgende linjer i konfigurasjonsfilen under mysqld
-delen.
bind-address =173.82.115.165
server-id = 2
log_bin =mysql-bin
Start serveren på nytt.
sudo systemctl restart mysqld
Nå er neste trinn å konfigurere slaveserveren til å replikere fra masterserveren. Logg inn på MySQL-serveren.
sudo mysql -u root -p
Stopp først replikeringstrådene.
mysql> STOP SLAVE;
Kjør nå følgende spørring som vil konfigurere slaven til å replikere fra Master-serveren.
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;
Pass på at du bruker riktig IP-brukernavn og passord. Bruk også filnavnet og posisjonen du fikk fra hovedserveren.
Til slutt skriver du inn følgende kommando for å starte slavetrådene.
mysql> START SLAVE;
Trinn 5: Testing av MySQL Master-Slave-replikering
På dette tidspunktet har du fullført konfigurasjonen av både master- og slaveservere. Vi må nå verifisere om konfigurasjonen fungerer og om replikeringen kan finne sted.
For å gjøre dette, gå ut til master-serveren og logg på MySQL-databaseserveren.
sudo mysql -u root -p
Lag en eksempeldatabase.
mysql> CREATE DATABASE replication_database;
Gå nå ut til Slave-serveren og logg inn på MySQL-databaseserveren igjen.
sudo mysql -u root -p
List nå alle databasene ved å bruke følgende kommando.
mysql> SHOW DATABASES;
Hvis du ser den opprettede databasen, fungerer MySQL Master-Slave Replication-oppsettet.
Konklusjon
Replikering er en ganske enkel prosess som enkelt kan gjøres. I denne veiledningen har du lært hvordan du kan lage en replikering av en MySQL-master til slave i en RHEL 8 Linux.