Wéi Setup MySQL Master-Slave Replikatioun op RHEL 8


MySQL Replikatioun ass e Prozess wou Daten vun engem Server automatesch kopéiert oder replizéiert ginn op en anere Backup Server an Echtzäit. Replikatioun stellt Redundanz a Feeler Toleranz a gëtt dem Benotzer Fridden vum Geescht, datt och no engem Echec am Master-Server, Daten nach ëmmer erëmfonnt ginn.

An dësem Tutorial gitt Dir léiere wéi Dir eng MySQL Master-Sklave Replikatioun op engem RHEL 8 Linux konfiguréiert an opstellt.

Am Setup wäerte mir zwee Server hunn déi RHEL 8 mat de folgende IP Adressen lafen.

Master = 173.82.120.14
Slave  = 173.82.115.165

Loosst eis elo virgoen a kucken wéi mir de MySQL Master-Sklave Replikatiounssetup op RHEL 8 Linux konfiguréieren.

Schrëtt 1: Installéiert MySQL op Master a Sklave Server

1. Déi lescht Versioun vum MySQL 8.x ass schonn am Standard Repository vun RHEL 8 abegraff an Dir kënnt se mat dem folgenden Yum Kommando installéieren.

# yum -y install @mysql

Schrëtt 2: Séchert MySQL op Master a Sklave Server

No der Installatioun, sollt Dir elo de MySQL Service starten deen Dir just installéiert hutt an et automatesch starten all Kéier wann Dir de Server start. Dofir benotzt de folgende Kommando.

# systemctl enable mysqld
# systemctl start mysqld

Als nächst musst Dir Är MySQL-Installatioun ofsécheren andeems Dir de Sécherheetsskript leeft, deen mat verschiddene Sécherheetsbaséiert Operatiounen kënnt wéi d'Root-Passwuert setzen, anonyme Benotzer erofhuelen, Root-Login op afstand verbueden, Testdatenbank erofhuelen a Privilegien nei lueden.

# mysql_secure_installation

Fuert weider mat de Rescht vun der Ufro an äntwert Jo op all d'Froen also stellt de Server op déi bescht Sécherheetspraktiken op.

Schrëtt 3: De MySQL Master Server konfiguréieren

Fir mat der Master Server Konfiguratioun unzefänken, fuert weider an öffnet d'MySQL Konfiguratiounsdatei andeems Dir de folgende Kommando tippt.

$ sudo vim /etc/my.cnf

An der mysqld Sektioun, fügen d'Linnen un wéi hei ënnendrënner.

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

Endlech de MySQL Service nei starten.

$ sudo systemctl restart mysqld

Elo wäerte mir e Replikatiouns Benotzer erstellen. Dofir, aloggen op Äre MySQL Master Server als root Benotzer a gitt d'Passwuert.

$ sudo mysql -u root -p

Fëllt elo déi folgend Befehle fir de Replica Benotzer ze kreéieren a gläichzäiteg de Sklaven Zougang zum Benotzer ze ginn. Denkt drun Är Maschinn IP Adress ze benotzen.

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

Elo gitt Dir de folgende Kommando aginn deen de binäre Dateinumm a Positioun dréckt.

mysql> SHOW MASTER STATUS\G

Denkt drun de resultéierende Dateinumm msql-bin.000002 a seng Positioun 939 ze notéieren.

Schrëtt 4: De MySQL Sklave Server konfiguréieren

Just wéi de Prozess vum Master opzestellen, sollt Dir déi folgend Ännerungen an der mysql Sklave Konfiguratiounsdatei maachen.

$ sudo vim  /etc/my.cnf

Fügt déi folgend Zeilen an der Konfiguratiounsdatei ënner mysqld Sektioun.

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

Restart de Server.

$ sudo systemctl restart mysqld

Elo ass de nächste Schrëtt fir de Sklave Server ze konfiguréieren fir vum Master Server ze replizéieren. Aloggen op MySQL Server.

$ sudo mysql -u root -p

Als éischt stoppt d'Replikatiouns thread.

mysql> STOP SLAVE;

Elo lafen déi folgend Ufro déi de Sklave konfiguréiert fir vum Master Server ze replizéieren.

mysql> CHANGE MASTER TO
    -> MASTER_HOST='173.82.120.14' ,
    -> MASTER_USER='replica' ,
    -> MASTER_PASSWORD='[email ' ,
    -> MASTER_LOG_FILE='mysql-bin.000002' ,
    -> MASTER_LOG_POS=939;

Vergewëssert Iech datt Dir de richtege IP Benotzernumm a Passwuert benotzt. Benotzt och den Dateinumm an d'Positioun déi Dir vum Masterserver kritt hutt.

Endlech, gitt de folgende Kommando fir d'Sklave thread ze starten.

mysql> START SLAVE;

Schrëtt 5: Testen MySQL Master-Slave Replikatioun

Zu dësem Zäitpunkt hutt Dir d'Konfiguratioun vu béide Master- a Sklave-Server ofgeschloss. Mir mussen elo verifizéieren ob d'Konfiguratioun funktionnéiert an ob d'Replikatioun ka stattfannen.

Fir dëst ze maachen, gitt op de Master-Server a loggt Iech op de MySQL-Datebankserver un.

$ sudo mysql -u root -p

Schafen eng Prouf Datebank.

mysql> CREATE DATABASE replication_database;

Elo gitt op de Sklave-Server an erëm, loggt Iech op de MySQL-Datebankserver un.

$ sudo mysql -u root -p

Lëscht elo all d'Datebanken mat dem folgenden Kommando.

mysql> SHOW DATABASES;

Wann Dir déi erstallt Datebank gesitt, da funktionnéiert de MySQL Master-Slave Replication Setup.

Replikatioun ass e relativ einfache Prozess dee ganz einfach ka gemaach ginn. An dësem Guide hutt Dir geléiert wéi Dir eng Replikatioun vun engem MySQL Master erstellt fir Sklave an engem RHEL 8 Linux.