Setup di laboratorio
Master Node - 192.168.43.13
Nodo slave - 192.168.43.252
Passaggio 1: installare MariaDB su server master e slave
Per cominciare, è necessario installare MariaDB sia sul Master che su Slave. Quindi segui i passaggi seguenti:
Innanzitutto, accedi al server principale e aggiorna i pacchetti di sistema come mostrato:
$ sudo dnf aggiornamento
Dopo aver aggiornato correttamente il sistema, ora procedi e installa MariaDB
$ sudo dnf Installa MariaDB-Server
Una volta che l'installazione ha esito positivo, è possibile verificare che MariaDB sia installato eseguendo il comando:
$ rpm -qa | Grep Mariadb
Per ottenere informazioni più dettagliate, eseguire il comando:
$ rpm -qi mariadb -server
Ora inizia il servizio MariaDB
$ sudo systemctl avvia mariadb
Inoltre, è possibile anche abilitare l'avvio automatico del servizio su qualsiasi sessione di avvio/riavvio.
$ sudo systemctl abilita MariaDB
Per verificare che il motore del database MARIADB sia attivo e funzionante, emettere il comando:
$ sudo systemctl status mariadb
Perfetto! Mariadb è attivo e funzionante come ci aspettavamo.
Così com'è, MariaDB non è protetto e qualsiasi utente può accedere al motore del database e avere accesso a tutti i database e apportare modifiche. Naturalmente, non vogliamo che ciò accada e garantiamo il database dovrebbe essere una priorità assoluta. Pertanto, dobbiamo proteggere il motore del database impostando una password di root. Quindi, esegui il comando qui sotto:
$ sudo mysql_secure_installation
Ciò che segue è un prompt interattivo che richiederà di impostare la password di root per il database e rispondere ad alcune domande.
Per impostazione predefinita, MariaDB funziona sulla porta 3306. Se si esegue un firewall, è necessario consentire questa porta in modo che il motore del database possa essere accessibile a utenti e servizi esterni.
Per aprire la porta sul firewall, eseguire la seguente regola del firewall:
$ sudo firewalld-cmd --add-port = 3306/tcp --zone = public --permanent
Per applicare la regola, ricaricare il firewall:
$ sudo firewalld-cmd--ricarichi
Con MariaDB installato e fissato con corretto sul server principale, ripeti gli stessi passaggi sul server slave.
Passaggio 2: configurare MariaDB sul server principale
Dobbiamo configurare il demone MariaDB in modo che il nostro server master previsto funga da server nella configurazione. Quindi apri il file di configurazione /etc/mio.Cnf
$ sudo vim /etc /mio.Cnf
Aggiungi la configurazione di seguito
[mysqld]Salva ed esci dal file di configurazione. Per effettuare i cambiamenti, riavviare il servizio MARIADB.
$ sudo systemctl riavvio mariadb-server
Passaggio 3: configurare il server slave
Proprio come il server principale, lo slave deve essere configurato per agire come uno. Quindi apri il file di configurazione come prima:
$ sudo vim /etc /mio.Cnf
Aggiungi la configurazione di seguito
[mysqld]Essere desideroso di fornire un diverso 'server_id'Dal server principale, che è 2 in questo caso. E proprio come il server principale, il 'bind_address'Il parametro dovrebbe indicare l'indirizzo IP dello slave.
Salva ed esci dal file.
Passaggio 3: creare un utente di replica nel server principale
Per configurare lo slave per la replica, dobbiamo tornare al nodo principale e creare un utente di replica. Accedi al motore del database MariaDB.
$ mysql -u root -pInnanzitutto, fermare l'utente degli schiavi.
MariaDB [(Nessuno)]> Stop Slave;Crea un utente di replica con i comandi mostrati:
MariaDB [(Nessuno)]> Grant Replication Slave su *.* A 'replica_user' @'192.168.43.252 '
Identificato da 'p@ssword123';
Query ok, 0 righe interessate (0.06 sec)
MariaDB [(Nessuno)]> Privilegi a filo;
Query ok, 0 righe interessate (0.04 sec)
MariaDB [(Nessuno)]> Tabelle a filo con blocco di lettura;
Query ok, 0 righe interessate (0.02 sec)
MariaDB [(Nessuno)]> uscita;
Query ok, 0 righe interessate (0.02 sec)
Successivamente, controlla quello stato del master eseguendo:
MariaDB [(Nessuno)]> Mostra stato principale \ gAnnotare attentamente i valori del nome file e della posizione. Questi verranno successivamente utilizzati per configurare lo slave per la replica.
Dall'output sopra, questo si traduce in:
File: Mysql-bin.000001
Posizione: 1317
Esci dal motore MariaDB e crea una copia di backup del server principale come mostrato:
$ sudo mysqldump -all -database -u root -p> masterdatabase.SQL
Accedi a MariaDB e sblocca i tavoli:
MariaDB [(Nessuno)]> Tabelle di sblocco;Ricorda la copia di backup che abbiamo creato per il database principale? Siamo pronti a copiarlo sul server slave. Quindi esegui il comando di seguito:
$ SCP MasterDatabase.sql [email protected]:/root/
Passaggio 4: configurare lo slave per la replica
Di nuovo sul nodo slave, importa il file di backup che abbiamo copiato dal master al motore MARIADB.
$ mysql -u root -p < masterdatabase.sqlE poi riavviare il servizio MariaDB
$ SystemCtl Riavvia MariaDB
Ora accedi al motore del database MARIADB e configura lo slave come segue:
MariaDB [(Nessuno)]> Stop Slave; MariaDB [(Nessuno)]> Cambia Master su Master_Host = '192.168.43.13 ', master_user =' replica_user ',Ricorda i valori che abbiamo detto che dovresti ricordare e possibilmente annotarli quando si visualizza lo stato del server principale? Questi sono stati finalmente definiti in Master_log_file E Master_log_pos attributi come visto.
Infine, inizia lo schiavo per inizializzare lo schiavo per iniziare a replicare dal maestro:
MariaDB [(Nessuno)]> Avvia slave;Quindi controlla lo stato dello slave
MariaDB [(Nessuno)]> Mostra status di slave;Se la configurazione è stata eseguita perfettamente, non è necessario ottenere l'output di seguito gratuitamente da eventuali errori.
Lo schiavo è ora pronto per la replica.
Passaggio 5: test di replica del database
Alla fine, dobbiamo confermare se la nostra configurazione funziona. Quindi accedi all'istanza MariaDB nel master e crea un database di test come mostrato
MariaDB [(Nessuno)]> Crea database replica_db;Quindi conferma la creazione del database
MariaDB [(Nessuno)]> Show Database;Torna al nodo slave e controlla se esiste il database.
Perfetto! La nostra configurazione funziona! Tutti i database successivi creati nel master verranno replicati automaticamente e le modifiche sono sincronizzate sul nodo slave. E questo ci porta alla fine di questa guida.