Come configurare la replica MySQL (Master-Slave) in RHEL, CentOS, Fedora

instagram story viewer

Il seguente tutorial mira a fornire una semplice guida passo passo per la configurazione MySQL (Padrone-schiavo) replica in RHEL 6,3/6.2/6,1/6/5,8, CentOS 6.3/6.2/6.1/6/5.8 e Fedora 17,16,15,14,13,12 usando l'ultima MySQL versione. Questa guida è stata scritta appositamente per CentOS 6.3 Sistema operativo, ma funziona anche con versioni precedenti di Linux distribuzioni con MySQL 5.x.

AGGIORNARE: Se stai cercando MariaDB Master-Slave Replication sotto CentOS/RHEL 7 e Debian 8 e sono derivati ​​come Ubuntu, segui questa guida Configurare la replica MariaDB Master-Slave.

replica mysql in Linux
Replica MySQL Master-Slave in RedHat / CentOS / Fedora

Il Replica MySQL è molto utile in termini di La sicurezza dei dati, Soluzione di failover, Backup del database da slave, Analisi eccetera. Usiamo le seguenti cose per svolgere il processo di replica. Nel tuo scenario sarebbe diverso.

  1. Lavorando Sistema operativo Linux Piace CentOS 6.3, RedHat 6.3 o Fedora 17
  2. Master e Slave sono CentOS 6.3 Server Linux.
  3. L'indirizzo IP principale è: 192.168.1.1.
  4. L'indirizzo IP dello slave è: 192.168.1.2.
  5. Master e Slave sono la stessa cosa LAN Rete.
  6. Master e Slave ha MySQL versione installata.
  7. Master consenti remoto Connessioni MySQL sul porto 3306.

Abbiamo due server, uno è Maestro insieme a IP (192.168.1.1) e altro è Schiavo come (192.168.1.2). Abbiamo diviso il processo di installazione in due fasi per semplificarti le cose, In Fase I noi configureremo Maestro server e in Fase II insieme a Schiavo server. Iniziamo il processo di configurazione della replica.

Fase I: configurazione del server principale (192.168.1.1) per la replica

Nel Fase I, vedremo l'installazione di MySQL, impostare replica e quindi verificando la replica.

Installa un MySQL in Master Server

Per prima cosa, procedi con MySQL installazione utilizzando comando YUM. Se hai già installato MySQL, puoi saltare questo passaggio.

# yum install mysql-server mysql
Configura un MySQL in Master Server

Aprire mio.cnf file di configurazione con VI editore.

# vi /etc/my.cnf

Aggiungi le seguenti voci sotto [mysqld] sezione e non dimenticare di sostituire tecnica con il nome del database su cui si desidera replicare Schiavo.

id-server = 1. binlog-do-db=tecnica
relay-log = /var/lib/mysql/mysql-relay-bin. relay-log-index = /var/lib/mysql/mysql-relay-bin.index. log-error = /var/lib/mysql/mysql.err. master-info-file = /var/lib/mysql/mysql-master.info. relay-log-info-file = /var/lib/mysql/mysql-relay-log.info. log-bin = /var/lib/mysql/mysql-bin

Riavvia il MySQL servizio.

# /etc/init.d/mysqld restart

Accedi a MySQL come radice utente e creare il utente schiavo e concedere i privilegi per la replica. Sostituire utente_schiavo con utente e la tua password con password.

# mysql -u root -p
mysql> CONCEDERE SLAVE DI REPLICA SU *.* A 'utente_schiavo'@'%' IDENTIFICATO DA 'la tua password'; mysql> FLUSH PRIVILEGI; mysql> FLUSH TABELLE CON BLOCCO LETTURA; mysql> MOSTRA STATO PRINCIPALE; +++++ | File | Posizione | Binlog_Do_DB | Binlog_Ignore_DB | +++++ |mysql-bin.000003 | 11128001| tecmint | | +++++ 1 riga in set (0,00 sec) mysql> quit;

Si prega di annotare il File (mysql-bin.000003) e Posizione (11128001) numeri, abbiamo richiesto questi numeri in seguito Schiavo server. Avanti applica LEGGI BLOCCO ai database per esportare tutto il database e le informazioni del database principale con mysqldump comando.

# mysqldump -u root -p --all-databases --master-data > /root/dbdump.db

Dopo aver scaricato tutti i database, ora connettiti nuovamente a mysql come utente root e tabelle unlcok.

mysql> SBLOCCA TABELLE; mysql> esci;

Carica il file di dump del database su Schiavo Server (192.168.1.2) utilizzando il comando SCP.

scp /root/dbdump.db [e-mail protetta]:/radice/

Questo è tutto, abbiamo configurato con successo Maestro server, procediamo a Fase II sezione.

Fase II: configurare il server slave (192.168.1.2) per la replica

Nel Fase II, facciamo l'installazione di MySQL, impostare replica e quindi verificando la replica.

Installa un MySQL in un server slave

Se non hai MySQL installato, quindi installarlo utilizzando il comando YUM.

# yum install mysql-server mysql
Configura un MySQL in un server slave

Aprire mio.cnf file di configurazione con VI editore.

# vi /etc/my.cnf

Aggiungi le seguenti voci sotto [mysqld] sezione e non dimenticare di sostituire IP indirizzo di Maestro server, tecnica con il nome del database ecc., con cui desideri replicare Maestro.

id-server = 2. master-host=192.168.1.1
master-connect-retry=60. master-user=utente_schiavo
master-password=la tua password
replica-do-db=tecnica
relay-log = /var/lib/mysql/mysql-relay-bin. relay-log-index = /var/lib/mysql/mysql-relay-bin.index. log-error = /var/lib/mysql/mysql.err. master-info-file = /var/lib/mysql/mysql-master.info. relay-log-info-file = /var/lib/mysql/mysql-relay-log.info. log-bin = /var/lib/mysql/mysql-bin

Ora importa il file dump che abbiamo esportato nel comando precedente e riavvia il servizio MySQL.

# mysql -u root -p < /root/dbdump.db. # /etc/init.d/mysqld restart. 

Accedi a MySQL come utente root e interrompi il Schiavo. Allora dì a Schiavo dove cercare File di registro principale, che abbiamo scritto sul master con MOSTRA STATO PRINCIPALE; comando come File (mysql-bin.000003) e Posizione (11128001) numeri. devi cambiare 192.168.1.1 al IP indirizzo del Server principale, e cambia il utente e parola d'ordine di conseguenza.

# mysql -u root -p
mysql> arresto dello schiavo; mysql> CAMBIA MASTER IN MASTER_HOST='192.168.1.1', MASTER_USER='utente_schiavo', MASTER_PASSWORD='la tua password', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=11128001; mysql> avvio slave; mysql> mostra lo stato dello slave\G
*************************** 1. riga ************************** Slave_IO_State: In attesa che il master invii l'evento Master_Host: 192.168.1.1 Master_User: slave_user Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000003 Read_Master_Log_Pos: 12345100 Relay_Log_File: mysql-relay-bin.000002 Relay_Log_Pos: 11381900 Relay_Master_Log_File: mysql-bin.000003 Slave_IO_Running: Sì Slave_SQL_Running: Sì Replica_Do_DB: tecnica Replica_Ignore_DB: Replica_Fai_Table: Replica_Ignore_Table: Replica_Wild_Do_Table: Replica_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 12345100 Relay_Log_Space: 11382055 Until_Condition: Nessuno Until_Log_File: Until_Log_Pos: 0 Master_SSL_Consentito: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0. Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: 1 riga nel set (0,00 sec)

Verifica della replica MySQL su server master e slave

È davvero molto importante sapere che la replica funziona perfettamente. Su Maestro il server crea una tabella e inserisce alcuni valori in essa.

Sul server principale
mysql> crea database tecmint; mysql> usa tecmint; mysql> CREATE TABLE impiegato (c int); mysql> INSERT INTO impiegato (c) VALORI (1); mysql> SELECT * FROM dipendente;
++ | c | ++ | 1 | ++ 1 riga in serie (0,00 sec)
Sul server slave

Verifica del SCHIAVO, eseguendo lo stesso comando, restituirà gli stessi valori anche nello slave.

mysql> usa tecmint; mysql> SELECT * FROM dipendente;
++ | c | ++ | 1 | ++ 1 riga in serie (0,00 sec)

Ecco fatto, finalmente hai configurato Replica MySQL in pochi semplici passaggi. Maggiori informazioni possono essere trovate su Guida alla replica di MySQL.

Teachs.ru