Sulle macchine slave fermiamo il motore MySQL e impostiamo la prima parte di configurazione. Essenzialmente, le macchine slave dovrebbero essere numerati dalla 2 in su, individuali. In questo modo sarà possibile variare gli accessi in modo abbastanza semplice, se si ciocca una delle macchine:
Codice:
# /etc/init.d/mysql stop
# nano /etc/mysql/my.cnf
[mysqld]
server-id = 2
Ora copiamo anche tutti i file tramite rsync alla macchina locale:
Codice:
# rsync -8rtuz sorgente::mysql /var/lib/
seguito poi con un controllo dei diritti di accesso, che grossolanamente si può impostare a:
Codice:
chown -R mysql:mysql /var/lib/mysql/
Lato server master è necessario disporre di un modulo mysql per rsync che punta alla cartella /var/lib/mysql/ in sola lettura e abilitato per l'IP della macchina slave. Con questa copia si sostituiscono tutte le configurazioni con quelle del server master. Alla fine di tutte le copie slave, torniamo al server master e sblocchiamo le tabelle, riaprendo lo screen precedente:
Invio della query:
Infine, usciamo da mysql e dalla connessione del server master.
Sulle macchine slave, avviamo quindi il servizio MySQL e facciamo il login, per impostare e avviare la replica. Mettiamo ovviamente i dati ricavati prima:
Codice:
/etc/init.d/mysql start
mysql -uroot -ppassword
CHANGE MASTER TO MASTER_HOST='1.2.3.4', MASTER_USER='replicauser', MASTER_PASSWORD='password-replicauser', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=746;
START SLAVE;
Facciamo quindi qualche inserimento di riga nel database master (ad esempio con phpMyAdmin) e controlliamo che funzioni la connessione e la replica (sullo slave). Ogni volta che si esegue questo comando, dovrebbero cambiare i valori numerici, se vi è stato una query update o insert into lato server master:
Codice:
SHOW SLAVE STATUS;
Messaggio vBulletin