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

Come configurare la replica MySQL su CentOS

In questo tutorial ti mostreremo come configurare la replica MySQL di base su due server CentOS 7, ma gli stessi passaggi dovrebbero funzionare su tutti i sistemi basati su RPM. Utilizzeremo due server virtuali CentOS 7 di prova per questo tutorial con i seguenti indirizzi IP:


MAESTRO: 123.456.789.1
SCHIAVO: 123.456.789.2

Server principale:

1. Accedi tramite SSH

Accedi al server principale come utente root

ssh root@IP_Address

2. Installa il server MySQL

e installa il server MySQL se non è già installato

yum install mysql-server mysql

3. Avvia il server MySQL

Avvia il server MySQL e abilitalo all'avvio all'avvio

systemctl start mysql
systemctl enable mysql

4. Configura server MySQL

Quindi, apri il file di configurazione di MySQL con un editor di testo e aggiungi le seguenti righe

vi /etc/my.cnf
server-id = 1
binlog-do-db=database
relay-log = mysql-relay-bin
relay-log-index = mysql-relay-bin.index
log-bin = mysql-bin

Non dimenticare di sostituire "database ' con il nome effettivo del database che vuoi replicare sul server slave.

5. Riavvia il server MySQL

Salva il file di configurazione e riavvia il server MySQL per rendere effettive le modifiche

systemctl restart mysql

6. Crea un utente MySQL per il server slave e configuralo

Accedi al server MySQL come utente root e crea un utente che verrà utilizzato dallo slave

mysql -u root -p
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slaveuser'@'%' IDENTIFIED BY 'PASSWORD'
mysql> FLUSH PRIVILEGES;
mysql> FLUSH TABLES WITH READ LOCK;
mysql> SHOW MASTER STATUS;
mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      245 | database     |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

mysql> exit

Avremo bisogno delle coordinate del master che verranno utilizzate per il server slave, quindi scrivile.

File: mysql-bin.000001
Posizione: 245

Sostituisci "PASSWORD ' con una password efficace.

Ora, se il database che vuoi replicare non è vuoto, crea un dump dal database

mysqldump -u root -p --master-data database > /root/database.sql

e trasferisci il file dump sul server slave

rsync -Waq -e ssh /root/database.sql 123.456.789.2:/root

Server slave:

7. Accedi tramite SSH e installa MySQL Server sul server slave

Il prossimo passo è configurare il server slave. Accedi al server slave tramite SSH come utente root e installa il server MySQL come abbiamo fatto sul server master.

Dopo aver installato e avviato il server MySQL, apri il suo file di configurazione e aggiungi le seguenti righe:

vi /etc/my.cnf
server-id = 2
master-host=123.456.789.1
master-connect-retry=60
master-user=slaveuser
master-password=PASSWORD
replicate-do-db=database
relay-log = mysql-relay-bin
log-bin = mysql-bin

8. Riavvia il server MySQL

Salva il file e riavvia il server MySQL per modificare l'effetto.

systemctl restart mysql

Importa il file di dump MySQL che abbiamo creato sul server principale

mysql -u root -p < /root/database.sql

9. Configura il server MySQL

Accedi a MySQL come utente root, ferma lo slave e configuralo dove cercare il "file di registro principale"

mysql -u root -p
mysql> slave stop;
mysql> CHANGE MASTER TO MASTER_HOST='123.456.789.1', MASTER_USER='slaveuser', MASTER_PASSWORD='PASSWORD', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=245;
mysql> slave start;

Usa il nome utente e la password MySQL che abbiamo creato sul server principale.

Puoi controllare lo stato dello slave eseguendo il seguente comando MySQL:

mysql> show slave status;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 123.456.789.1
                  Master_User: slaveuser
                  Master_Port: 3306
              Master_Log_File: mysql-bin.000001
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: database

Se "Slave_IO_Stato ' segnala 'In attesa che il master invii l'evento' la replica è riuscita.

Questo è tutto. È così facile. Se hai bisogno di maggiori informazioni su come impostare una configurazione master di replica, puoi trovarla sul sito Web ufficiale di MySQL.

Ovviamente non devi configurare la replica MySQL su CentOS, se utilizzi uno dei nostri servizi di hosting MySQL, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di configurare la replica MySQL su CentOS per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta. Puoi anche controllare i nuovi aggiornamenti su Come installare MySQL su CentOS 7.

PS. Se ti è piaciuto questo post su come impostare la replica di MySQL su CentOS, condividilo con i tuoi amici sui social network usando i pulsanti a sinistra o lascia semplicemente una risposta qui sotto. Grazie.


Cent OS
  1. Come configurare il server SysLog su CentOS 7 / RHEL 7

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

  3. Come rimuovere completamente il server MySQL in CentOS

  4. Come installare il server di database MySQL su CentOS

  5. Come installare MySQL Server su CentOS 7

Come configurare il server NFS su CentOS 8 / RHEL 8

Come configurare un server SVN su CentOS

Come installare MySQL 8 su CentOS 8

Come impostare la replica MySQL in RHEL/Centos

Come configurare HAProxy su CentOS 8

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