Database Clustering · 14 min read · Sep 26, 2025
Come installare Percona XtraDB Cluster su Rocky Linux 9

Percona XtraDB Cluster è una soluzione di clustering di database completamente open-source per MySQL. Ti consente di creare un’implementazione del server MySQL ad alta disponibilità con robustezza e alte prestazioni. L’ultima versione di Percona XtraDB Cluster è 8.0, che è completamente compatibile con MySQL Server Community Edition 8.0.
Percona XtraDB Cluster fornisce funzionalità come la replicazione sincrona, la replicazione multi-sorgente, la provisioning automatico dei nodi, la configurazione automatica della crittografia SSL e prestazioni ottimizzate.
Percona XtraDB Cluster garantisce l’alta disponibilità del tuo server database, fornisce scalabilità lineare e previene tempi di inattività e perdita di dati.
Questa guida ti mostrerà come configurare un cluster MySQL tramite Percona XtraDB Cluster (PXC) su server Rocky Linux 9. Installerai Percona XtraDB Cluster su più sistemi Rocky Linux e configurerai Percona XtraDB Cluster per abilitare la replicazione del database tra i server, quindi verificherai anche inserendo dati in un server e controllando i dati da un altro server.
Prerequisiti
Per completare questa guida, devi avere due o più server che eseguono Rocky Linux 9. Devi anche avere un utente non root con privilegi di amministratore sudo/root su tutti i server. Inoltre, SELinux deve essere in esecuzione in modalità permissiva.
Per questo esempio, verranno utilizzati tre server Rocky Linux 9. Di seguito sono riportati i dettagli dei server:
Hostname IP Address
--------------------------
pxc-rock01 192.168.5.80
pxc-rock02 192.168.5.81
pxc-rock03 192.168.5.82Se tutti i requisiti sono pronti, puoi iniziare l’installazione di Percona XtraDB Cluster.
Configurazione di /etc/hosts e Firewalld
In questo primo passaggio, configurerai il file /etc/hosts e firewalld su tutti i server Rocky Linux. Modificherai il file /etc/hosts e aggiungerai i dettagli degli indirizzi IP e dei nomi host per ciascun server, quindi aggiungerai alcune porte che saranno utilizzate da Percona XtraDB Cluster.
Di seguito sono riportati i dettagli delle porte di Percona XtraDB Cluster che devi aprire sul tuo firewall.
Ports Used for
---------------------------
3306 MySQL client connection and SST (State Snapshot Transfer)
4444 SST via Percona XtraBackup
4567 write-set replication traffic (over TCP) and multicast replication (over TCP and UDP)
4568 IST (Incremental State Transfer)Per iniziare, apri il file ‘/etc/hosts’ utilizzando il seguente comando dell’editor nano.
sudo nano /etc/hostsAggiungi i dettagli del nome host e dell’indirizzo IP che saranno utilizzati per il cluster. Assicurati di modificare i dettagli con il tuo ambiente server.
192.168.5.80 pxc-rock01
192.168.5.81 pxc-rock02
192.168.5.82 pxc-rock03Salva e chiudi il file quando hai finito.
Successivamente, inserisci il seguente comando ‘firewall-cmd‘ per aggiungere la tua subnet di rete interna come sorgente di fiducia. Con questo, solo le reti di fiducia saranno autorizzate ad accedere a tutti i server.
sudo firewall-cmd --permanent --add-source=192.168.5.0/24Ora apri alcune porte per Percona XtraDB Cluster e ricarica firewalld per applicare le modifiche. Un output ‘success‘ conferma che la nuova regola è stata aggiunta a firewalld.
sudo firewall-cmd --add-port={3306/tcp,4444/tcp,4567/tcp,4567/udp,4568/tcp} --permanent
sudo firewall-cmd --reloadInfine, inserisci il seguente comando ‘firewall-cmd’ per verificare l’elenco delle regole abilitate su firewalld.
sudo firewall-cmd --list-allIl seguente output verrà stampato nel tuo terminale. Assicurati che tutte le porte che saranno utilizzate da Percona XtraDB Cluster siano elencate.

Con il file /etc/hosts e firewalld configurati, installerai ora i pacchetti di Percona XtraDB Cluster.
Installazione di Percona XtraDB Cluster
In questa sezione, installerai Percona XtraDB Cluster su tutti i tuoi server Rocky Linux. Configurerai il repository di Percona XtraDB, quindi installerai il pacchetto di Percona XtraDB Cluster. Inoltre, alla fine, cambierai la password di root di MySQL predefinita su tutti i tuoi server.
Per prima cosa, devi aggiungere e abilitare il repository EPEL. Inserisci il seguente comando ‘dnf install’ per aggiungere il repository EPEL.
sudo dnf install epel-releaseOra inserisci il seguente comando per installare l’applicazione di rilascio di Percona. Immetti y quando richiesto e premi INVIO per procedere. Questo pacchetto fornisce uno strumento da riga di comando ‘percona-release‘ che può essere utilizzato per gestire i repository di Percona.
sudo dnf install https://repo.percona.com/yum/percona-release-latest.noarch.rpm -y
Successivamente, esegui il seguente comando ‘percona-release‘ per abilitare il repository di Percona XtraDB Cluster v8.0. Durante il processo, ti verrà chiesto di disabilitare il repository MySQL predefinito, immetti y per confermare e premi INVIO per procedere.
sudo percona-release setup pxc-80Un messaggio di output ‘All done!‘ conferma che l’operazione è stata completata con successo.

Verifica l’elenco dei repository abilitati inserendo il comando ‘dnf repolist’ qui sotto. Dovresti vedere il repository ‘pxc-80-release’ abilitato e elencato nell’output con alcuni repository aggiuntivi come ‘prel-release’ e ‘tools-release’.
sudo dnf repolist
Ora inserisci il seguente comando ‘dnf install’ per installare il pacchetto di Percona XtraDB Cluster. Immetti y quando richiesto per confermare e premi INVIO per procedere.
sudo dnf install percona-xtradb-cluster
Quando ti viene chiesto di accettare la chiave GPG di Percona, immetti y e premi INVIO per confermare.

Una volta installato Percona XtraDB Cluster, inserisci il seguente comando systemctl per avviare e abilitare il servizio MySQL.
sudo systemctl start mysql
sudo systemctl enable mysqlOra verifica lo stato del servizio MySQL utilizzando il comando qui sotto. Un output ‘active (running)‘ conferma che MySQL è in esecuzione. E l’output ‘..; enabled..’ conferma che MySQL si avvierà automaticamente all’avvio del sistema.
sudo systemctl status mysql
Con Percona XtraDB Cluster in esecuzione, ora cambierai la password di root predefinita per tutti i tuoi server MySQL.
Inserisci il seguente comando per controllare la password generata di default per il tuo utente root MySQL. Copia la password di root MySQL predefinita.
sudo grep 'temporary password' /var/log/mysqld.logSuccessivamente, accedi alla shell di MySQL tramite il comando ‘mysql‘ qui sotto. Quando ti viene chiesto di inserire la password, incolla la password di MySQL predefinita che hai copiato.
sudo mysql -u root -pUna volta effettuato l’accesso, dovresti vedere la shell di MySQL con un prompt come questo ‘mysql>‘.

Inserisci la seguente query MySQL per cambiare la password predefinita per l’utente root di MySQL, quindi esci.
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewP4ssr00tMySQL';
quit
Infine, prima di configurare il Percona XtraDB Cluster, devi fermare il servizio MySQL. Inserisci il seguente comando ‘systemctl’ per fermare il servizio MySQL su tutti i server.
sudo systemctl stop mysqlCon Percona XtraDB Cluster installato, la configurazione di root di MySQL e il servizio MySQL fermato, ora sei pronto per configurare e impostare il cluster.
Copia certificati SSL/TLS
Poiché il Percona XtraDB Cluster 8.0, la connessione predefinita tra i server nel cluster deve essere crittografata. Per impostare la crittografia tra i server, devi avere gli stessi certificati SSL/TLS su tutti i server.
In questa sezione, copierai i certificati SSL/TLS generati di default dal server ‘pxc-rock01‘ ai server ‘pxc-rock02‘ e ‘pxc-rock03‘.
Sul server ‘pxc-rock01‘, inserisci il seguente comando per verificare i certificati disponibili. Con questo, dovresti copiare i file di certificato ‘server-cert.pem‘, ‘server-key.pem‘ e ‘ca.pem‘ su entrambi i server pxc-rock02 e pxc-rock03.
ls /var/lib/mysql/*.pemSposta la tua directory di lavoro in ‘/var/lib/mysql‘.
cd /var/lib/mysqlOra inserisci il seguente comando scp per copiare i file di certificato SSL/TLS su entrambi i server pxc-rock02 e pxc-rock03.
scp server-key.pem server-cert.pem ca.pem root@pxc-rock02:/var/lib/mysql
scp server-key.pem server-cert.pem ca.pem root@pxc-rock03:/var/lib/mysqlDi seguito è riportato l’output durante il processo di copia dei certificati SSL/TLS dal pxc-rock01 al server pxc-rock02.

E di seguito è riportato l’output durante il processo di copia dei certificati SSL/TLS dal pxc-rock01 al server pxc-rock03.
Inizializza Percona XtraDB Cluster su pxc-rock01
Per prima cosa, inizializzerai il Percona XtraDB Cluster dal server pxc-rock01. Per farlo, dovrai modificare il file di configurazione del server MySQL ‘/etc/my.cnf‘, quindi avviare il servizio ‘mysql@bootstrap‘.
Apri il file di configurazione di MySQL ‘/etc/my.cnf’ utilizzando il seguente comando dell’editor nano.
sudo nano /etc/my.cnfAggiungi l’elenco degli indirizzi IP del tuo server Percona XtraDB Cluster al parametro ‘wsrep_cluster_address‘ e aggiungi il parametro ‘default_storage_engine=InnoDB‘.
# Cluster connection URL contains the IPs of pxc-rock01, pxc-rock02, and pxc-rock03
wsrep_cluster_address=gcomm://192.168.5.80,192.168.5.81,192.168.5.82
# Using the MyISAM storage engine is not recommended.
default_storage_engine=InnoDB
Cambia il ‘wsrep_node_address‘ con l’indirizzo IP del server corrente, il ‘wsrep_node_name‘ con il nome host del sistema e il ‘wsrep_cluster_name‘ con il nome del tuo cluster.
# Node 1 address
wsrep_node_address=192.168.5.80
# Node Name
wsrep_node_name=pxc-rock01
# Cluster name
wsrep_cluster_name=pxc-cluster
Infine, in fondo alla riga, aggiungi la seguente configurazione per abilitare una connessione SSL/TLS sicura tra i server Percona XtraDB Cluster e la connessione sst.
# enable ssl/tls connection
wsrep_provider_options="socket.ssl_key=server-key.pem;socket.ssl_cert=server-cert.pem;socket.ssl_ca=ca.pem"
[sst]
encrypt=4
ssl-key=server-key.pem
ssl-ca=ca.pem
ssl-cert=server-cert.pemSalva e chiudi il file quando hai finito.
Successivamente, inserisci il seguente comando systemctl per avviare il servizio ‘mysql@bootstrap‘ e inizializzare il primo server Percona XtraDB Cluster.
systemctl start [email protected]Per verificare e assicurarti che l’inizializzazione del Percona XtraDB Cluster sia avvenuta con successo, dovresti accedere alla shell di MySQL e controllare lo stato ‘wsrep%‘.
Inserisci il seguente comando ‘mysql’ per accedere al server MySQL come utente ‘root‘. Immetti la tua nuova password di root MySQL quando richiesto.
sudo mysql -u root -pDopo aver effettuato l’accesso, inserisci la seguente query per controllare i dettagli dello stato ‘wsrep%‘.
SHOW STATUS LIKE 'wsrep%';Dovresti ricevere un output come questo - Nella sezione ‘wsrep_cluster_size‘ vedrai il valore ‘1‘, il che significa che il Percona XtraDB Cluster è stato inizializzato con 1 server. Riceverai anche gli indirizzi IP dei server nella sezione ‘wsrep_incoming_address‘. Infine, il nodo è nello stato Synced, il che significa che è completamente connesso e pronto per la replicazione del set di scrittura.

Con questo, il primo server del Percona XtraDB Cluster ‘pxc-rock01‘ è stato inizializzato. Nel passaggio successivo, aggiungerai i server ‘pxc-rock02‘ e ‘pxc-rock03‘ al cluster.
Aggiunta del server pxc-rock02 al Percona XtraDB Cluster
Dopo che il primo Percona XtraDB Cluster è stato inizializzato, ora aggiungerai il server pxc-rock02 al cluster. Il modo per aggiungere un server al Percona XtraDB Cluster è simile al processo di inizializzazione, devi modificare il file di configurazione del server MySQL predefinito ‘/etc/my.cnf‘ e definire l’elenco dei server per il cluster, quindi avviare normalmente il servizio MySQL.
Inserisci il seguente comando dell’editor nano per aprire il file di configurazione di MySQL ‘/etc/my.cnf‘.
sudo nano /etc/my.cnfAggiungi l’elenco degli indirizzi IP del tuo server Percona XtraDB Cluster al parametro ‘wsrep_cluster_address‘ e aggiungi il parametro ‘default_storage_engine=InnoDB‘.
# Cluster connection URL contains the IPs of pxc-rock01, pxc-rock02, and pxc-rock03
wsrep_cluster_address=gcomm://192.168.5.80,192.168.5.81,192.168.5.82
# Using the MyISAM storage engine is not recommended.
default_storage_engine=InnoDB
Cambia il ‘wsrep_node_address‘ con l’indirizzo IP del server corrente, il ‘wsrep_node_name‘ con il nome host del sistema e il ‘wsrep_cluster_name‘ con il nome del tuo cluster.
# Node #2 address
wsrep_node_address=192.168.5.81
# Node Name
wsrep_node_name=pxc-rock02
# Cluster name
wsrep_cluster_name=pxc-cluster
Infine, in fondo alla riga, aggiungi la seguente configurazione per abilitare una connessione SSL/TLS sicura tra i server Percona XtraDB Cluster e la connessione sst.
# enable ssl/tls connection
wsrep_provider_options="socket.ssl_key=server-key.pem;socket.ssl_cert=server-cert.pem;socket.ssl_ca=ca.pem"
[sst]
encrypt=4
ssl-key=server-key.pem
ssl-ca=ca.pem
ssl-cert=server-cert.pemSalva e chiudi il file quando hai finito.
Successivamente, inserisci il seguente comando systemctl per avviare il servizio MySQL. Questo farà anche sì che il server ‘pxc-rock02‘ si unisca al Percona XtraDB Cluster inizializzato.
sudo systemctl start mysqlInfine, per assicurarti che il server pxc-rock02 sia stato aggiunto al Percona XtraDB Cluster, devi accedere alla shell di MySQL come utente root tramite il seguente comando. Quando richiesto, immetti la tua password di root MySQL.
sudo mysql -u root -pOra inserisci la seguente query per controllare i dettagli dello stato ‘wsrep%‘.
SHOW STATUS LIKE 'wsrep%';Dovresti ricevere un output come questo - Nella sezione ‘wsrep_cluster_size‘ vedrai il valore ‘2‘, il che significa che ci sono due server disponibili nel Percona XtraDB Cluster. Riceverai anche gli indirizzi IP dei server nella sezione ‘wsrep_incoming_address‘, che sono gli indirizzi IP dei server pxc-rock01 e pxc-rock02. Infine, il nodo è nello stato Synced, il che significa che è completamente connesso e pronto per la replicazione del set di scrittura.

Aggiunta del server pxc-rock03 al Percona XtraDB Cluster
In questa sezione, ora aggiungerai il terzo server pxc-rock03 al Percona XtraDB Cluster.
Apri il file di configurazione ‘/etc/my.cnf‘ utilizzando il seguente comando dell’editor nano.
sudo nano /etc/my.cnfAggiungi l’elenco degli indirizzi IP del tuo server Percona XtraDB Cluster al parametro ‘wsrep_cluster_address‘ e aggiungi il parametro ‘default_storage_engine=InnoDB‘.
# Cluster connection URL contains the IPs of pxc-rock01, pxc-rock02, and pxc-rock03
wsrep_cluster_address=gcomm://192.168.5.80,192.168.5.81,192.168.5.82
# Using the MyISAM storage engine is not recommended.
default_storage_engine=InnoDB
Cambia il ‘wsrep_node_address‘ con l’indirizzo IP del server corrente, il ‘wsrep_node_name‘ con il nome host del sistema e il ‘wsrep_cluster_name‘ con il nome del tuo cluster.
# Node #3 address
wsrep_node_address=192.168.5.82
# Node Name
wsrep_node_name=pxc-rock02
# Cluster name
wsrep_cluster_name=pxc-cluster
Infine, in fondo alla riga, aggiungi la seguente configurazione per abilitare una connessione SSL/TLS sicura tra i server Percona XtraDB Cluster e la connessione sst.
# enable ssl/tls connection
wsrep_provider_options="socket.ssl_key=server-key.pem;socket.ssl_cert=server-cert.pem;socket.ssl_ca=ca.pem"
[sst]
encrypt=4
ssl-key=server-key.pem
ssl-ca=ca.pem
ssl-cert=server-cert.pemSalva e chiudi il file quando hai finito.
Successivamente, inserisci il seguente comando systemctl per avviare il servizio MySQL e unire il server corrente pxc-rock03 al Percona XtraDB Cluster.
sudo systemctl start mysqlInfine, inserisci il seguente comando mysql per accedere alla shell di MySQL e verificare lo stato ‘wsrep%‘. Quando richiesto, immetti la tua password di root MySQL.
sudo mysql -u root -pOra inserisci la seguente query per controllare i dettagli dello stato ‘wsrep%‘.
SHOW STATUS LIKE 'wsrep%';Dovresti ricevere un output come questo - Nella sezione ‘wsrep_cluster_size‘ vedrai il valore ‘3‘, il che significa che ci sono tre server disponibili nel Percona XtraDB Cluster. Riceverai anche gli indirizzi IP dei server nella sezione ‘wsrep_incoming_address‘, che sono gli indirizzi IP dei server pxc-rock01, pxc-rock02 e pxc-rock03. Infine, il nodo è nello stato Synced, il che significa che è completamente connesso e pronto per la replicazione del set di scrittura.

A questo punto, hai ora configurato Percona XtraDB Cluster con tre diversi server Rocky Linux 9. E con questo, la replicazione del database dovrebbe funzionare tra i server su Percona XtraDB Cluster. Nel passaggio successivo, verificherai la replicazione del tuo database tra più server.
Test della replicazione del database
In questa sezione, verificherai la replicazione del database su Percona XtraDB Cluster. Questo garantirà che la tua installazione sia stata completata con successo.
Per prima cosa, accedi alla shell di MySQL dal server pxc-rock02 e crea un nuovo database chiamato ‘testdb‘.
sudo mysql -u root -p
CREATE DATABASE testdb;
Ora spostati sul server pxc-rock03, connettiti alla shell di MySQL tramite un utente root, quindi cambia il database di lavoro predefinito in ‘testdb‘.
sudo mysql -u root -p
USE testdb;Inserisci la seguente query per creare una nuova tabella chiamata ‘table1‘.
CREATE TABLE table1 (node_id INT PRIMARY KEY, node_name VARCHAR(30));
Successivamente, spostati sul server pxc-rock01, accedi alla shell di MySQL, quindi inserisci nuovi dati nel database ‘testdb‘ tramite la query ‘INSERT‘ qui sotto.
sudo mysql -u root -pINSERT INTO testdb.table1 VALUES (1, 'pxc-rock01');
INSERT INTO testdb.table1 VALUES (2, 'pxc-rock02');
INSERT INTO testdb.table1 VALUES (3, 'pxc-rock03');
Una volta aggiunti i dati, torna al server pxc-rock02 e inserisci la query SELECT qui sotto per recuperare tutti i dati disponibili nel database ‘testdb‘ e nella tabella ‘table1‘.
SELECT * FROM testdb.table1;Se la replicazione ha avuto successo, dovresti avere i tuoi dati inseriti disponibili sul server pxc-rock02. I tuoi dati saranno memorizzati in tutti i server del Percona XtraDB Cluster.

Questo conferma che l’installazione del Percona XtraDB Cluster sui server Rocky Linux 9 è stata completata con successo.
Conclusione
Hai installato e distribuito Percona XtraDB Cluster in questa guida su tre server Rocky Linux 9. Hai imparato come installare Percona XtraDB Cluster, proteggere l’implementazione tramite firewalld, inizializzare il cluster e anche aggiungere nodi al cluster.
In aggiunta a ciò, hai anche protetto l’installazione di Percona XtraDB Cluster crittografando il traffico tra tutti i server utilizzando certificati SSL/TLS e l’opzione ‘pxc-encrypt-cluster-traffic’, che è abilitata per impostazione predefinita su Percona XtraDB Cluster 8.0.
Con questo, puoi aggiungere più server al tuo attuale Percona XtraDB Cluster utilizzando i passaggi che hai appreso per aggiungere i server pxc-rock02 e pxc-rock03. Oppure puoi anche configurare il bilanciamento del carico e l’alta disponibilità con applicazioni di terze parti come ProxySQL e HAPROXY. Per saperne di più, visita la documentazione ufficiale di Percona XtraDB Cluster.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.