GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come impostare la replica MySQL in RHEL/Centos

In questo articolo, dimostrerò come configurare la replica MySQL tra server di database Master e Slave. Questo utilizzerà due server, uno dei quali replicherà i dati dall'altro (dal master allo slave). Utilizzare questa configurazione se si desidera una maggiore affidabilità e prestazioni dalla configurazione del sistema.

Fare riferimento a uno dei nostri altri tutorial se hai bisogno di aiuto per configurare un sistema basato su RHEL.

Per questa guida, utilizzeremo questa configurazione del laboratorio di replica MySQL.

MySQL Master - 192.168.56.1
MySQL Slave  - 192.168.56.2 

Passaggio 1:installa MySQL su server master e slave

Inizia installando il database MySQL sia sul server master che su quello slave.

$ sudo dnf install @mysql

or

$ sudo yum install mysql-server

Una volta completata l'installazione, avvia il servizio database.

$ sudo systemctl start mysqld

Quindi abilitalo per iniziare con systemctl. Abilitandolo, il servizio verrà avviato nella sequenza di avvio.

$ sudo systemctl enable mysqld

Quindi conferma che il server del database MySQL è in esecuzione:

$ sudo systemctl status mysqld

Fase 2:proteggi MySQL su server master e slave

Si consiglia di proteggere il nuovo server di database con il seguente comando:

$ sudo mysql_secure_installation

Per iniziare, dovrai impostare la password di root di MySQL. Assicurati di utilizzare una password di root complessa, preferibilmente una che contenga una combinazione di caratteri maiuscoli, minuscoli, speciali e numerici e sia più lunga di 8 caratteri.

Per le restanti richieste, digita "Y" per configurare il server del database con le impostazioni consigliate.

Una volta terminata l'installazione e la protezione avanzata di MySQL sul nodo master e slave, il passaggio successivo consiste nel configurare il nodo master.

Fase 3:Configura il nodo principale (server)

Ora configuriamo il nodo Master e concediamo al nodo slave l'accesso ad esso. Innanzitutto, dobbiamo modificare il file di configurazione mysql-server.cnf.

$ sudo vim /etc/my.cnf.d/mysql-server.cnf

Aggiungi le seguenti righe nella sezione [mysqld].

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

Al termine, salva le modifiche ed esci. Quindi riavvia il server MySQL.

$ sudo sysemctl restart mysqld

Quindi, accedi alla shell MySQL.

$ sudo mysql -u root -p

Esegui i seguenti comandi per creare un utente del database che verrà utilizzato per associare il master e lo slave per la replica.

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

Applica le modifiche ed esci dal server MySQL.

mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Verifica lo stato del master.

mysql> SHOW MASTER STATUS\G

Prendi nota del nome del file e della posizione. Ne avrai bisogno in seguito durante la configurazione dello slave per la replica. Nel nostro caso, abbiamo il nome del file come binlog.000001 e Posizione 854.

Fase 4:Configura il nodo slave (server)

Ora, torna al nodo Slave. Ancora una volta, modifica il file di configurazione mysql-server.cnf.

$ sudo vim /etc/my.cnf.d/mysql-server.cnf

Come prima, incolla queste righe nella sezione [mysqld]. Modificare l'indirizzo IP in modo che corrisponda all'IP dello slave. Inoltre, assegna un server-id diverso. Qui gli abbiamo assegnato il valore di 2.

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

Salva le modifiche ed esci dal file. Quindi riavvia il server del database.

$ sudo systemctl restart mysqld

Per configurare il nodo Slave per la replica dal nodo Master, accedi al server MySQL dello Slave.

$ sudo mysql -u root -p

Inizia interrompendo i thread di replica:

mysql> STOP SLAVE;

Quindi eseguire il comando seguente per configurare il nodo slave per replicare i database dal master.

mysql> CHANGE MASTER TO
     MASTER_HOST='192.168.56.1' ,
     MASTER_USER='replica' ,
     MASTER_PASSWORD='Password' ,
     MASTER_LOG_FILE='binlog.000001' ,
     MASTER_LOG_POS=854;

I flag MASTER LOG FILE e MASTER LOG POS corrispondono ai valori del file e della posizione del nodo Master alla fine del passaggio 1.

MASTER HOST, MASTER USER e MASTER PASSWORD sono rispettivamente l'indirizzo IP principale, l'utente di replica e la password.

I thread di replica slave dovrebbero quindi essere avviati:

mysql> START SLAVE;

Fase 4:test della replica MySQL Master-Slave

Ora, per verificare se la replica tra il nodo master e quello slave funziona, accedi al server del database MySQL sul nodo master:

$ sudo mysql -u root -p

Crea un database di prova. Qui, il nostro database di test si chiama replication_db.

mysql> CREATE DATABASE replication_db;

Verifica l'esistenza del database.

mysql> SHOW DATABASES;

Ora vai al nodo slave, accedi al server MySQL e ricontrolla che il database di replica db esista. Possiamo vedere che il database è presente nell'output di seguito. Ciò indica che è avvenuta la replica dal nodo Master al nodo slave.

mysql> SHOW DATABASES;

Cent OS
  1. Come configurare la configurazione MySQL Master-Slave utilizzando i nodi CentOS 7?

  2. Come configurare il server SysLog su CentOS 7 / RHEL 7

  3. Come configurare il server NFS su CentOS 7 / RHEL 7

  4. Come configurare Pure-FTPD con MySQL su CentOS e RedHat

  5. Come installare MySQL 8.0 su CentOS/RHEL 8

Come configurare Icinga Web 2 su CentOS 8 / RHEL 8

Come installare Cacti su CentOS 6 / RHEL 6

Come configurare uno Chef 12 su CentOS 7 / RHEL 7

Come installare MySQL 8.0 su CentOS 8 / RHEL 8

Come configurare il server SysLog centralizzato su CentOS 8 / RHEL 8

Come impostare la replica MySQL Master-Slave su RHEL 7?