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;
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.