Ricerca nel sito web

Come impostare la replica MySQL Master-Slave su RHEL 8


MySQL Replication è un processo in cui i dati di un server vengono automaticamente copiati o replicati su un altro server di backup in tempo reale. La replica fornisce ridondanza e tolleranza agli errori e offre all'utente la tranquillità che anche dopo un guasto nel server master, i dati possono ancora essere recuperati.

In questo tutorial imparerai come configurare e impostare una replica master-slave MySQL su un Linux RHEL 8.

Prerequisiti

Nella configurazione avremo due server che eseguono RHEL 8 con i seguenti indirizzi IP.

Master = 173.82.120.14
Slave  = 173.82.115.165

Procediamo ora e vediamo come possiamo configurare il setup della replica MySQL Master-slave su RHEL 8 Linux.

Passaggio 1: installa MySQL sul server master e slave

1. L'ultima versione di MySQL 8.x è già inclusa nel repository predefinito di RHEL 8 e puoi installarla utilizzando quanto segue comando gnam.

yum -y install @mysql

Passaggio 2: proteggere MySQL sul server master e slave

Dopo l'installazione, ora dovresti avviare il servizio MySQL che hai appena installato e farlo avviare automaticamente ogni volta che avvii il server. Pertanto, utilizzare il seguente comando.

systemctl enable mysqld
systemctl start mysqld

Successivamente, è necessario proteggere l'installazione di MySQL eseguendo lo script di sicurezza fornito con diverse operazioni basate sulla sicurezza, come l'impostazione della password di root, la rimozione di utenti anonimi, la disabilitazione dell'accesso root da remoto, la rimozione del database di test e il ricaricamento dei privilegi.

mysql_secure_installation

Procedi con il resto della richiesta e rispondi a tutte le domande, quindi configura il server secondo le migliori pratiche di sicurezza.

Passaggio 3: configurazione del server principale MySQL

Per iniziare con la configurazione del server Master, procedi e apri il file di configurazione MySQL digitando il seguente comando.

sudo vim /etc/my.cnf

Nella sezione mysqld, aggiungi le righe come mostrato di seguito.

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

Infine, riavvia il servizio MySQL.

sudo systemctl restart mysqld

Ora creeremo un utente di replica. Pertanto, accedi al tuo server master MySQL come utente root e fornisci la password.

sudo mysql -u root -p

Ora esegui i seguenti comandi per creare l'utente replica e allo stesso tempo concedere l'accesso slave all'utente. Ricordati di utilizzare l'indirizzo IP della tua macchina.

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

Ora digiterai il seguente comando che stamperà il nome e la posizione del file binario.

mysql> SHOW MASTER STATUS\G

Ricordarsi di prendere nota del nome file risultante msql-bin.000002 e della sua posizione 939.

Passaggio 4: configurazione del server slave MySQL

Proprio come il processo di configurazione del master, dovresti apportare le seguenti modifiche al file di configurazione dello slave mysql.

sudo vim  /etc/my.cnf

Aggiungi le seguenti righe nel file di configurazione nella sezione mysqld.

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

Riavviare il server.

sudo systemctl restart mysqld

Ora il passaggio successivo è configurare il server slave per la replica dal server master. Accedi al server MySQL.

sudo mysql -u root -p

Innanzitutto, interrompi i thread di replica.

mysql> STOP SLAVE;

Ora, esegui la seguente query che configurerà lo slave per la replica dal server master.

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;

Assicurati di utilizzare il nome utente e la password IP corretti. Inoltre, usa il nome file e la posizione che hai ottenuto dal server principale.

Infine, digita il seguente comando per avviare i thread slave.

mysql> START SLAVE;

Passaggio 5: test della replica master-slave di MySQL

A questo punto hai completato la configurazione sia del server master che di quello slave. Dobbiamo ora verificare se la configurazione funziona e se la replica può avvenire.

Per fare ciò, vai al server master e accedi al server del database MySQL.

sudo mysql -u root -p

Creare un database di esempio.

mysql> CREATE DATABASE replication_database;

Ora dirigiti al server Slave e accedi nuovamente al server del database MySQL.

sudo mysql -u root -p

Ora elenca tutti i database utilizzando il seguente comando.

mysql> SHOW DATABASES;

Se vedi il database creato, la configurazione della replica MySQL Master-Slave funziona.

Conclusione

La replica è un processo abbastanza semplice che può essere eseguito facilmente. In questa guida hai imparato come creare una replica di un master MySQL in uno slave in un Linux RHEL 8.