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.
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.
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.
Nel Fase I, vedremo l'installazione di MySQL, impostare replica e quindi verificando la replica.
Per prima cosa, procedi con MySQL installazione utilizzando comando YUM. Se hai già installato MySQL, puoi saltare questo passaggio.
# yum install mysql-server mysql
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.
Nel Fase II, facciamo l'installazione di MySQL, impostare replica e quindi verificando la replica.
Se non hai MySQL installato, quindi installarlo utilizzando il comando YUM.
# yum install mysql-server mysql
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_Ignore_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)
È davvero molto importante sapere che la replica funziona perfettamente. Su Maestro il server crea una tabella e inserisce alcuni valori in essa.
mysql> crea database tecmint; mysql> usa tecmint; mysql> CREATE TABLE impiegato (c int); mysql> INSERT INTO impiegato (c) VALUES (1); mysql> SELECT * FROM dipendente;
++ | c | ++ | 1 | ++ 1 riga in serie (0,00 sec)
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.