Com configurar MySQL Master-Slave Replication a RHEL 8


La replicació de MySQL és un procés on les dades d'un servidor es copien o es reprodueixen automàticament en un altre servidor de còpia de seguretat en temps real. La replicació proporciona redundància i tolerància a errors i dóna a l'usuari tranquil·litat que fins i tot després d'una fallada al servidor mestre, les dades encara es poden recuperar.

En aquest tutorial, aprendràs a configurar i configurar una rèplica mestre-esclau MySQL en un Linux RHEL 8.

A la configuració, tindrem dos servidors que executen RHEL 8 amb les següents adreces IP.

Master = 173.82.120.14
Slave  = 173.82.115.165

Continuem ara i veiem com podem configurar la configuració de rèplica MySQL Master-slave a RHEL 8 Linux.

Pas 1: instal·leu MySQL al servidor mestre i esclau

1. La darrera versió de MySQL 8.x ja s'inclou al dipòsit predeterminat de RHEL 8 i podeu instal·lar-la mitjançant la següent comanda yum.

# yum -y install @mysql

Pas 2: Assegureu MySQL al servidor mestre i esclau

Després de la instal·lació, ara hauríeu d'iniciar el servei MySQL que acabeu d'instal·lar i fer que s'iniciï automàticament cada vegada que inicieu el servidor. Per tant, utilitzeu l'ordre següent.

# systemctl enable mysqld
# systemctl start mysqld

A continuació, heu de protegir la vostra instal·lació de MySQL executant l'script de seguretat que inclou diverses operacions basades en seguretat, com ara establir la contrasenya d'arrel, eliminar usuaris anònims, no permetre l'inici de sessió d'arrel de forma remota, eliminar la base de dades de prova i tornar a carregar el privilegi.

# mysql_secure_installation

Continueu amb la resta de la sol·licitud i responeu a totes les preguntes, així que configureu el servidor amb les millors pràctiques de seguretat.

Pas 3: Configuració del servidor principal de MySQL

Per començar amb la configuració del servidor mestre, procediu i obriu el fitxer de configuració de MySQL escrivint l'ordre següent.

$ sudo vim /etc/my.cnf

A la secció mysqld, afegiu les línies tal com es mostra a continuació.

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

Finalment, reinicieu el servei MySQL.

$ sudo systemctl restart mysqld

Ara anem a crear un usuari de replicació. Per tant, inicieu sessió al vostre servidor principal MySQL com a usuari root i proporcioneu la contrasenya.

$ sudo mysql -u root -p

Ara executeu les ordres següents per crear l'usuari de rèplica i, al mateix temps, atorgueu l'accés esclau a l'usuari. Recordeu utilitzar l'adreça IP de les vostres màquines.

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

Ara, escriureu la següent comanda que imprimirà el nom i la posició del fitxer binari.

mysql> SHOW MASTER STATUS\G

Recordeu tenir en compte el nom de fitxer resultant msql-bin.000002 i la seva posició 939.

Pas 4: Configuració del servidor esclau MySQL

Igual que el procés de configuració del mestre, hauríeu de fer els canvis següents al fitxer de configuració de l'esclau mysql.

$ sudo vim  /etc/my.cnf

Afegiu les línies següents al fitxer de configuració a la secció mysqld.

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

Reinicieu el servidor.

$ sudo systemctl restart mysqld

Ara el següent pas és configurar el servidor esclau per replicar-lo des del servidor mestre. Inicieu sessió al servidor MySQL.

$ sudo mysql -u root -p

Primer, atureu els fils de replicació.

mysql> STOP SLAVE;

Ara, executeu la consulta següent que configurarà l'esclau per replicar-se des del servidor mestre.

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;

Assegureu-vos que feu servir el nom d'usuari i la contrasenya IP correctes. A més, utilitzeu el nom i la posició del fitxer que heu obtingut del servidor mestre.

Finalment, escriviu l'ordre següent per iniciar els fils esclaus.

mysql> START SLAVE;

Pas 5: provant la replicació mestre-esclau de MySQL

En aquest punt, heu completat la configuració dels servidors mestre i esclau. Ara hem de verificar si la configuració funciona i si la replicació es pot dur a terme.

Per fer-ho, aneu al servidor principal i inicieu sessió al servidor de bases de dades MySQL.

$ sudo mysql -u root -p

Creeu una base de dades de mostra.

mysql> CREATE DATABASE replication_database;

Ara aneu al servidor Slave i torneu a iniciar sessió al servidor de bases de dades MySQL.

$ sudo mysql -u root -p

Ara enumereu totes les bases de dades mitjançant l'ordre següent.

mysql> SHOW DATABASES;

Si veieu la base de dades creada, la configuració de MySQL Master-Slave Replication funciona.

La replicació és un procés bastant senzill que es pot fer fàcilment. En aquesta guia, heu après com podeu crear una rèplica d'un mestre MySQL com a esclau en un Linux RHEL 8.