Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> hardware >> PC Computer >> .

Come configurare la replica Master-Master/Slave di MariaDB

Per configurare la replica master-master/slave di MariaDB, attenersi alla seguente procedura:

Passaggio 1:controlla se GTID è abilitato

Prima di iniziare, controlla se GTID è abilitato. Si consiglia di utilizzare i GTID con la replica MariaDB.

```

mysql -u root -p

Inserisci la password root di MariaDB

MOSTRA VARIABILI GLOBALI COME 'gtid_mode';

```

Assicurarsi che l'output della query precedente sia ON o ON_PERMISSIVE. Se disattivi, esegui questo comando per abilitare GTID:

```

IMPOSTA GLOBALE gtid_mode=ON;

```

Nota:se GTID inizialmente era DISATTIVATO, riavviare il servizio MariaDB per rendere effettiva questa modifica.

Passaggio 2:crea un nuovo utente per la replica

Crea un nuovo utente che i server slave potranno utilizzare per connettersi al master e ottenere aggiornamenti. Questo utente deve avere il privilegio REPLICATION SLAVE.

```

mysql -u root -p

CREA UTENTE 'repluser'@'%' IDENTIFICATO DA 'strong-password';

CONCEDI SLAVE DI REPLICAZIONE SU *.* A 'repluser'@'%';

PRIVILEGI A FILO;

```

Passaggio 3:impostazione della replica MySQL Master-Master

_a) Sul Master 1:_

- Arresta il servizio MariaDB:

```

sudo servizio mariadb stop

```

- Crea e apri il file _my.cnf_ in un editor di testo.

- Per sistemi basati su Debian/Ubuntu:

```

sudo nano /etc/mysql/my.cnf

```

- Per sistemi basati su RedHat/CentOS/Fedora:

```

sudo nano /etc/my.cnf

```

- Modifica il file _my.cnf_ per includere la seguente configurazione:

```

[mysqld]

ID server

ID-server=1

Abilita la modalità GTID se non è già abilitata

gtid_mode =ATTIVO

Associa a tutte le interfacce di rete

indirizzo di associazione =0.0.0.0

Configurazione della replica

log-bin=/var/log/mysql/mariadb-bin

binlog_do_db=mydb # il database che desideri replicare

Master1 riceverà i suoi aggiornamenti da master2. Rimuovi la riga sottostante se questo è il primo master che stai configurando.

host_master =192.168.1.20

Facoltativamente, se necessario (utile se stai tentando di recuperare lo slave da un arresto anomalo):

relè-log=/var/log/mysql/mariadb-relay-bin.log

relè-log-index=/var/log/mysql/mariadb-relay-bin.index

```

*Il server_id nella configurazione precedente dovrebbe essere un ID univoco per questo server master.

*binlog_do_db specifica quale database replicare.

*master_host specifica l'indirizzo IP o il nome host dell'altro server master se si sta configurando la replica dual master.

- Salva ed esci dal file di configurazione _my.cnf_.

- Avvia il servizio MariaDB:

```

sudo service mariadb start

```

_b) Sul Master 2:_

- Ripetere gli stessi passi del master 1, tranne:

- Specificare un server_id diverso (ad esempio server-id=2)

- Specificare l'indirizzo IP o il nome host del master 1 come master_host.

Passaggio 4:configurazione dello slave

_a) Sullo schiavo:_

- Arresta il servizio MariaDB:

```

sudo servizio mariadb stop

```

- Modifica il file _my.cnf_:

```

sudo nano /etc/mysql/my.cnf

```

- Assicurarsi che l'indirizzo di collegamento sia impostato su 0.0.0.0 in modo che lo slave possa accettare connessioni da entrambi i master.

- Aggiungi le seguenti righe:

```

[mysqld]

Imposta l'ID del server sullo stesso valore di Master1.

ID-server=1

gtid_mode =ATTIVO

log_slave_updates=1

```

- Salva ed esci dal file di configurazione _my.cnf_.

- Avvia il servizio MariaDB:

```

sudo service mariadb start

```

- Connettiti al database slave:

```

mysql -u root -p

```

- Configurare la replica sullo slave:

"mysql

CAMBIA MAESTRO IN

MASTER_HOST='indirizzo_ip_master1',

MASTER_USER='ripetitore',

MASTER_PASSWORD='password complessa',

POSIZIONE_AUTO_MASTER =1;

INIZIA SCHIAVO;

```

_b) Monitorare lo stato della replica:_

- Controlla lo stato della replica sia sul master che sullo slave:

"mysql

MOSTRA STATO SLAVE\G;

```

Lo stato della replica dovrebbe mostrare che lo slave è connesso e sta replicando dai master.

 

hardware © www.354353.com