• Replica dei database MySQL

    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:
    Codice:
    screen -r
    Invio della query:
    Codice:
    UNLOCK TABLES;
    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;
    Commenti 1 Commento
    1. L'avatar di Fabioserio
      Fabioserio -
      Grazie di questo articolo. molto interessante