Database · 2 min read · Feb 02, 2026

Replica Master-Master Con MySQL 5 Su Fedora 8

Replica Master-Master Con MySQL 5 Su Fedora 8

Versione 1.0
Autore: Oliver Meyer

Questo documento descrive come impostare la replica master-master con MySQL 5 su Fedora 8. Dalla versione 5, MySQL viene fornito con supporto integrato per la replica master-master, risolvendo il problema che può verificarsi con le chiavi auto-generate. Nelle versioni precedenti di MySQL, il problema con la replica master-master era che si verificavano conflitti immediatamente se il nodo A e il nodo B inserivano entrambi una chiave auto-incrementante nella stessa tabella. I vantaggi della replica master-master rispetto alla tradizionale replica master-slave sono che non è necessario modificare le proprie applicazioni per effettuare accessi in scrittura solo al master e che è più facile fornire alta disponibilità perché se il master fallisce, si ha ancora l’altro master.

Questo howto è una guida pratica senza alcuna garanzia - non copre i fondamenti teorici. Ci sono molti modi per impostare un tale sistema - questo è il modo che ho scelto.

1 Preparazione

Per questo howto ho impostato due sistemi Fedora 8 (installazione minima senza gui ecc.) con la seguente configurazione.

1.1 Sistema 1

Hostname: server1.example.com
IP: 192.168.0.100

1.2 Sistema 2

Hostname: server2.example.com
IP: 192.168.0.200

2 MySQL

2.1 Pacchetti Necessari Su Entrambi I Sistemi

Se non hai installato MySQL su entrambi i sistemi, puoi installarlo (client e server) tramite:

yum -y install mysql mysql-server

2.2 Avvio Iniziale Del Server MySQL Su Entrambi I Sistemi

Avvia il server MySQL.

/etc/init.d/mysqld start

2.3 Password Di Root MySQL

2.3.1 Entrambi I Sistemi

Imposta una password per l’utente root di MySQL su localhost.

mysqladmin -u root password %sql_root_password%

2.3.2 Sistema 1

Imposta una password per l’utente root di MySQL su server1.example.com.

mysqladmin -u root -h server1.example.com password %mysql_root_password%

2.3.3 Sistema 2

Imposta una password per l’utente root di MySQL su server2.example.com.

mysqladmin -u root -h server2.example.com password %mysql_root_password%

2.4 Utente Di Replica MySQL

2.4.1 Sistema 1

Crea l’utente di replica che il Sistema 2 utilizzerà per accedere al database MySQL sul Sistema 1.

mysql -u root -p

GRANT REPLICATION SLAVE ON *.* TO 'slave2_user'@'%' IDENTIFIED BY '%mysql_slaveuser_password%'; FLUSH PRIVILEGES; quit;

2.4.2 Sistema 2

Crea l’utente di replica che il Sistema 1 utilizzerà per accedere al database MySQL sul Sistema 2.

mysql -u root -p

GRANT REPLICATION SLAVE ON *.* TO 'slave1_user'@'%' IDENTIFIED BY '%mysql_slaveuser_password%'; FLUSH PRIVILEGES; quit;

2.5 Database Sul Sistema 2

Procedo con l’assunzione che il database exampledb esista già sul Sistema 1 - contenente tabelle con record. Quindi dobbiamo creare un database vuoto con lo stesso nome del database esistente sul Sistema 1.

mysql -u root -p

CREATE DATABASE exampledb; quit;

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.