Base de données · 15 min read · Sep 26, 2025
Comment installer Percona XtraDB Cluster sur Rocky Linux 9

Percona XtraDB Cluster est une solution de clustering de base de données entièrement open-source pour MySQL. Elle vous permet de créer un déploiement de serveur MySQL haute disponibilité avec des performances robustes et élevées. La dernière version de Percona XtraDB Cluster est 8.0, qui est entièrement compatible avec MySQL Server Community Edition 8.0.
Percona XtraDB Cluster fournit des fonctionnalités telles que la réplication synchrone, la réplication multi-source, le provisionnement automatique des nœuds, la configuration automatique du chiffrement SSL, et des performances optimisées.
Percona XtraDB Cluster garantit la haute disponibilité de votre serveur de base de données, offre une scalabilité linéaire, et prévient les temps d’arrêt et la perte de données.
Ce guide vous montrera comment configurer un cluster MySQL via Percona XtraDB Cluster (PXC) sur des serveurs Rocky Linux 9. Vous installerez Percona XtraDB Cluster sur plusieurs systèmes Rocky Linux, et configurerez Percona XtraDB Cluster pour activer la réplication de base de données entre les serveurs, puis vous vérifierez également en insérant des données dans un serveur et en vérifiant les données depuis un autre serveur.
Prérequis
Pour compléter ce guide, vous devez disposer de deux serveurs ou plus exécutant Rocky Linux 9. Vous devez également avoir un utilisateur non-root avec des privilèges d’administrateur sudo/root sur tous les serveurs. De plus, SELinux doit être en mode permissif.
Pour cet exemple, trois serveurs Rocky Linux 9 seront utilisés. Voici les détails des serveurs :
Nom d'hôte Adresse IP
--------------------------
pxc-rock01 192.168.5.80
pxc-rock02 192.168.5.81
pxc-rock03 192.168.5.82Si toutes les exigences sont prêtes, vous pouvez commencer l’installation de Percona XtraDB Cluster.
Configuration de /etc/hosts et Firewalld
Dans cette première étape, vous allez configurer le fichier /etc/hosts et firewalld sur tous les serveurs Rocky Linux. Vous allez modifier le fichier /etc/hosts et ajouter les détails des adresses IP et des noms d’hôte pour chaque serveur, puis vous ajouterez certains ports qui seront utilisés par Percona XtraDB Cluster.
Voici les détails des ports de Percona XtraDB Cluster que vous devez ouvrir sur votre pare-feu.
Ports Utilisé pour
---------------------------
3306 Connexion client MySQL et SST (State Snapshot Transfer)
4444 SST via Percona XtraBackup
4567 Trafic de réplication de write-set (sur TCP) et réplication multicast (sur TCP et UDP)
4568 IST (Incremental State Transfer)Pour commencer, ouvrez le fichier ‘/etc/hosts’ en utilisant la commande suivante de l’éditeur nano.
sudo nano /etc/hostsAjoutez les détails du nom d’hôte et de l’adresse IP qui seront utilisés pour le cluster. Assurez-vous de changer les détails avec votre environnement serveur.
192.168.5.80 pxc-rock01
192.168.5.81 pxc-rock02
192.168.5.82 pxc-rock03Enregistrez et fermez le fichier une fois terminé.
Ensuite, entrez la commande ‘firewall-cmd‘ suivante pour ajouter votre sous-réseau interne comme source de confiance. Avec cela, seuls les réseaux de confiance seront autorisés à accéder à tous les serveurs.
sudo firewall-cmd --permanent --add-source=192.168.5.0/24Maintenant, ouvrez certains ports pour Percona XtraDB Cluster et rechargez le firewalld pour appliquer les modifications. Une sortie ‘success‘ confirme que la nouvelle règle a été ajoutée au firewalld.
sudo firewall-cmd --add-port={3306/tcp,4444/tcp,4567/tcp,4567/udp,4568/tcp} --permanent
sudo firewall-cmd --reloadEnfin, entrez la commande ‘firewall-cmd‘ suivante pour vérifier la liste des règles activées sur firewalld.
sudo firewall-cmd --list-allLa sortie suivante sera imprimée sur votre terminal. Assurez-vous que tous les ports qui seront utilisés par le Percona XtraDB Cluster sont répertoriés.

Avec le fichier /etc/hosts et firewalld configurés, vous allez maintenant installer les paquets Percona XtraDB Cluster.
Installation de Percona XtraDB Cluster
Dans cette section, vous allez installer Percona XtraDB Cluster sur tous vos serveurs Rocky Linux. Vous allez configurer le dépôt Percona XtraDB, puis installer le paquet Percona XtraDB Cluster. À la fin, vous changerez également le mot de passe root MySQL par défaut sur tous vos serveurs.
Tout d’abord, vous devez ajouter et activer le dépôt EPEL. Entrez la commande ‘dnf install‘ suivante pour ajouter le dépôt EPEL.
sudo dnf install epel-releaseMaintenant, entrez la commande suivante pour installer l’application de publication Percona. Saisissez y lorsque vous y êtes invité et appuyez sur ENTRÉE pour continuer. Ce paquet fournit un outil en ligne de commande ‘percona-release‘ qui peut être utilisé pour gérer les dépôts Percona.
sudo dnf install https://repo.percona.com/yum/percona-release-latest.noarch.rpm -y
Ensuite, exécutez la commande ‘percona-release‘ suivante pour activer le dépôt Percona XtraDB Cluster v8.0. Au cours du processus, vous serez invité à désactiver le dépôt MySQL par défaut, saisissez y pour confirmer et appuyez sur ENTRÉE pour continuer.
sudo percona-release setup pxc-80Un message de sortie ‘All done!‘ confirme que l’opération a réussi.

Vérifiez la liste des dépôts activés en entrant la commande ‘dnf repolist‘ ci-dessous. Vous devriez voir le dépôt ‘pxc-80-release’ activé et répertorié dans la sortie avec quelques dépôts supplémentaires tels que ‘prel-release’ et ‘tools-release’.
sudo dnf repolist
Maintenant, entrez la commande ‘dnf install’ suivante pour installer le paquet Percona XtraDB Cluster. Saisissez y lorsque vous y êtes invité pour confirmation et appuyez sur ENTRÉE pour continuer.
sudo dnf install percona-xtradb-cluster
Lorsque vous êtes invité à accepter la clé GPG de Percona, saisissez y et appuyez sur ENTRÉE pour confirmer.

Une fois Percona XtraDB Cluster installé, entrez la commande systemctl suivante pour démarrer et activer le service MySQL.
sudo systemctl start mysql
sudo systemctl enable mysqlVérifiez maintenant l’état du service MySQL en utilisant la commande ci-dessous. Une sortie ‘active (running)‘ confirme que MySQL est en cours d’exécution. Et la sortie ‘..; enabled..’ confirme que MySQL démarrera automatiquement au démarrage du système.
sudo systemctl status mysql
Avec le Percona XtraDB Cluster en cours d’exécution, vous allez maintenant changer le mot de passe root par défaut pour tous vos serveurs MySQL.
Entrez la commande suivante pour vérifier le mot de passe généré par défaut pour votre utilisateur root MySQL. Copiez le mot de passe root MySQL par défaut.
sudo grep 'temporary password' /var/log/mysqld.logEnsuite, connectez-vous à l’interface de commande MySQL via la commande ‘mysql‘ ci-dessous. Lorsque vous êtes invité à entrer le mot de passe, collez le mot de passe MySQL par défaut que vous avez copié.
sudo mysql -u root -pUne fois connecté, vous devriez voir l’interface de commande MySQL avec un prompt comme ceci ‘mysql>‘.

Entrez la requête MySQL suivante pour changer le mot de passe par défaut pour l’utilisateur root MySQL, puis quittez.
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewP4ssr00tMySQL';
quit
Enfin, avant de configurer le Percona XtraDB Cluster, vous devez arrêter le service MySQL. Entrez la commande ‘systemctl’ suivante pour arrêter le service MySQL sur tous les serveurs.
sudo systemctl stop mysqlAvec le Percona XtraDB Cluster installé, la configuration root MySQL, et le service MySQL arrêté, vous serez maintenant prêt à configurer et à mettre en place le cluster.
Copier les certificats SSL/TLS
Depuis le Percona XtraDB Cluster 8.0, la connexion par défaut entre les serveurs du cluster doit être chiffrée. Pour configurer le chiffrement entre les serveurs, vous devez avoir les mêmes certificats SSL/TLS sur tous les serveurs.
Dans cette section, vous allez copier les certificats SSl/TLS générés par défaut du serveur ‘pxc-rock01‘ vers les serveurs ‘pxc-rock02‘ et ‘pxc-rock03‘.
Sur le serveur ‘pxc-rock01‘, entrez la commande suivante pour vérifier les certificats disponibles. Avec cela, vous devez copier les fichiers de certificat ‘server-cert.pem‘, ‘server-key.pem‘, et ‘ca.pem‘ vers les serveurs pxc-rock02 et pxc-rock03.
ls /var/lib/mysql/*.pemDéplacez votre répertoire de travail vers ‘/var/lib/mysql‘.
cd /var/lib/mysqlMaintenant, entrez la commande scp suivante pour copier les fichiers de certificat SSL/TLS vers les serveurs pxc-rock02 et 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/mysqlVoici la sortie pendant le processus de copie des certificats SSL/TLS du pxc-rock01 vers le serveur pxc-rock02.

Et voici la sortie pendant le processus de copie des certificats SSL/TLS du pxc-rock01 vers le serveur pxc-rock03.
Initialiser Percona XtraDB Cluster sur pxc-rock01
Tout d’abord, vous allez initialiser le Percona XtraDB Cluster depuis le serveur pxc-rock01. Pour ce faire, vous devrez modifier le fichier de configuration du serveur MySQL ‘/etc/my.cnf‘, puis démarrer le service ‘mysql@bootstrap‘.
Ouvrez le fichier de configuration MySQL ‘/etc/my.cnf’ en utilisant la commande suivante de l’éditeur nano.
sudo nano /etc/my.cnfAjoutez la liste des adresses IP de vos serveurs Percona XtraDB Cluster au paramètre ‘wsrep_cluster_address‘ et ajoutez le paramètre ‘default_storage_engine=InnoDB‘.
# L'URL de connexion au cluster contient les IP de pxc-rock01, pxc-rock02, et pxc-rock03
wsrep_cluster_address=gcomm://192.168.5.80,192.168.5.81,192.168.5.82
# L'utilisation du moteur de stockage MyISAM n'est pas recommandée.
default_storage_engine=InnoDB
Changez l’wsrep_node_address avec l’adresse IP actuelle du serveur, le wsrep_node_name avec le nom d’hôte du système, et le wsrep_cluster_name avec le nom de votre cluster.
# Adresse du nœud 1
wsrep_node_address=192.168.5.80
# Nom du nœud
wsrep_node_name=pxc-rock01
# Nom du cluster
wsrep_cluster_name=pxc-cluster
Enfin, en bas de la ligne, ajoutez la configuration suivante pour activer une connexion SSL/TLS sécurisée entre les serveurs Percona XtraDB Cluster et la connexion sst.
# activer la connexion ssl/tls
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.pemEnregistrez et fermez le fichier une fois terminé.
Ensuite, entrez la commande systemctl suivante pour démarrer le service ‘mysql@bootstrap‘ et initialiser le premier serveur Percona XtraDB Cluster.
systemctl start [email protected]Pour vérifier et s’assurer que l’initialisation de Percona XtraDB Cluster a réussi, vous devez vous connecter à l’interface de commande MySQL et vérifier l’état ‘wsrep%‘.
Entrez la commande ‘mysql‘ suivante pour vous connecter au serveur MySQL en tant qu’utilisateur ‘root‘. Saisissez votre nouveau mot de passe root MySQL lorsque vous y êtes invité.
sudo mysql -u root -pAprès vous être connecté, entrez la requête suivante pour vérifier le détail de l’état ‘wsrep%‘.
SHOW STATUS LIKE 'wsrep%';Vous devriez recevoir une sortie comme celle-ci - Dans la section ‘wsrep_cluster_size‘, vous verrez la valeur ‘1‘, ce qui signifie que le Percona XtraDB Cluster est initialisé avec 1 serveur. Vous obtiendrez également les adresses IP des serveurs dans la section ‘wsrep_incoming_address‘. Enfin, le nœud est dans l’état Synced, ce qui signifie qu’il est entièrement connecté et prêt pour la réplication de write-set.

Avec cela, le premier serveur du Percona XtraDB Cluster ‘pxc-rock01‘ est initialisé. Dans l’étape suivante, vous ajouterez les serveurs ‘pxc-rock02‘ et ‘pxc-rock03‘ au cluster.
Ajouter le serveur pxc-rock02 au Percona XtraDB Cluster
Après que le premier Percona XtraDb Cluster soit initialisé, vous allez maintenant ajouter le serveur pxc-rock02 au cluster. La façon d’ajouter un serveur au Percona XtraDB Cluster est similaire au processus d’initialisation, vous devez modifier le fichier de configuration du serveur MySQL par défaut ‘/etc/my.cnf‘ et définir la liste des serveurs pour le cluster, puis démarrer le service MySQL normalement.
Entrez la commande de l’éditeur nano suivante pour ouvrir le fichier de configuration MySQL ‘/etc/my.cnf‘.
sudo nano /etc/my.cnfAjoutez la liste des adresses IP de vos serveurs Percona XtraDB Cluster au paramètre ‘wsrep_cluster_address‘ et ajoutez le paramètre ‘default_storage_engine=InnoDB‘.
# L'URL de connexion au cluster contient les IP de pxc-rock01, pxc-rock02, et pxc-rock03
wsrep_cluster_address=gcomm://192.168.5.80,192.168.5.81,192.168.5.82
# L'utilisation du moteur de stockage MyISAM n'est pas recommandée.
default_storage_engine=InnoDB
Changez l’wsrep_node_address avec l’adresse IP actuelle du serveur, le wsrep_node_name avec le nom d’hôte du système, et le wsrep_cluster_name avec le nom de votre cluster.
# Adresse du nœud #2
wsrep_node_address=192.168.5.81
# Nom du nœud
wsrep_node_name=pxc-rock02
# Nom du cluster
wsrep_cluster_name=pxc-cluster
Enfin, en bas de la ligne, ajoutez la configuration suivante pour activer une connexion SSL/TLS sécurisée entre les serveurs Percona XtraDB Cluster et la connexion sst.
# activer la connexion ssl/tls
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.pemEnregistrez et fermez le fichier une fois terminé.
Ensuite, entrez la commande systemctl suivante pour démarrer le service MySQL. Cela fera également rejoindre le serveur ‘pxc-rock02‘ au Percona XtraDB Cluster initialisé.
sudo systemctl start mysqlEnfin, pour vous assurer que le serveur pxc-rock02 est ajouté au Percona XtraDB Cluster, vous devez vous connecter à l’interface de commande MySQL en tant qu’utilisateur root via la commande suivante. Lorsque vous y êtes invité, saisissez votre mot de passe root MySQL.
sudo mysql -u root -pMaintenant, entrez la requête suivante pour vérifier le détail de l’état ‘wsrep%‘.
SHOW STATUS LIKE 'wsrep%';Vous devriez recevoir une sortie comme celle-ci - Dans la section ‘wsrep_cluster_size‘, vous verrez la valeur ‘2‘, ce qui signifie qu’il y a deux serveurs disponibles sur le Percona XtraDB Cluster. Vous obtiendrez également les adresses IP des serveurs dans la section ‘wsrep_incoming_address‘, qui sont les adresses IP des serveurs pxc-rock01 et pxc-rock02. Enfin, le nœud est dans l’état Synced, ce qui signifie qu’il est entièrement connecté et prêt pour la réplication de write-set.

Ajouter le serveur pxc-rock03 au Percona XtraDB Cluster
Dans cette section, vous allez maintenant ajouter le troisième serveur pxc-rock03 au Percona XtraDB Cluster.
Ouvrez le fichier de configuration ‘/etc/my.cnf‘ en utilisant la commande suivante de l’éditeur nano.
sudo nano /etc/my.cnfAjoutez la liste des adresses IP de vos serveurs Percona XtraDB Cluster au paramètre ‘wsrep_cluster_address‘ et ajoutez le paramètre ‘default_storage_engine=InnoDB‘.
# L'URL de connexion au cluster contient les IP de pxc-rock01, pxc-rock02, et pxc-rock03
wsrep_cluster_address=gcomm://192.168.5.80,192.168.5.81,192.168.5.82
# L'utilisation du moteur de stockage MyISAM n'est pas recommandée.
default_storage_engine=InnoDB
Changez l’wsrep_node_address avec l’adresse IP actuelle du serveur, le wsrep_node_name avec le nom d’hôte du système, et le wsrep_cluster_name avec le nom de votre cluster.
# Adresse du nœud #3
wsrep_node_address=192.168.5.82
# Nom du nœud
wsrep_node_name=pxc-rock02
# Nom du cluster
wsrep_cluster_name=pxc-cluster
Enfin, en bas de la ligne, ajoutez la configuration suivante pour activer une connexion SSL/TLS sécurisée entre les serveurs Percona XtraDB Cluster et la connexion sst.
# activer la connexion ssl/tls
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.pemEnregistrez et fermez le fichier une fois terminé.
Ensuite, entrez la commande systemctl suivante pour démarrer le service MySQL et rejoindre le serveur actuel pxc-rock03 au Percona XtraDB Cluster.
sudo systemctl start mysqlEnfin, entrez la commande mysql suivante pour vous connecter à l’interface de commande MySQL et vérifier l’état ‘wsrep%‘. Lorsque vous y êtes invité, saisissez votre mot de passe root MySQL.
sudo mysql -u root -pMaintenant, entrez la requête suivante pour vérifier le détail de l’état ‘wsrep%‘.
SHOW STATUS LIKE 'wsrep%';Vous devriez recevoir une sortie comme celle-ci - Dans la section ‘wsrep_cluster_size‘, vous verrez la valeur ‘3‘, ce qui signifie qu’il y a trois serveurs disponibles sur le Percona XtraDB Cluster. Vous obtiendrez également les adresses IP des serveurs dans la section ‘wsrep_incoming_address‘, qui sont les adresses IP des serveurs pxc-rock01, pxc-rock02, et pxc-rock03. Enfin, le nœud est dans l’état Synced, ce qui signifie qu’il est entièrement connecté et prêt pour la réplication de write-set.

À ce stade, vous avez maintenant configuré Percona XtraDB Cluster avec trois serveurs différents Rocky Linux 9. Et avec cela, la réplication de base de données devrait fonctionner entre les serveurs sur Percona XtraDB Cluster. Dans l’étape suivante, vous allez vérifier la réplication de votre base de données entre plusieurs serveurs.
Tester la réplication de base de données
Dans cette section, vous allez vérifier la réplication de base de données sur Percona XtraDB Cluster. Cela garantira que votre installation a réussi et est terminée.
Tout d’abord, connectez-vous à l’interface de commande MySQL depuis le serveur pxc-rock02 et créez une nouvelle base de données appelée ‘testdb‘.
sudo mysql -u root -p
CREATE DATABASE testdb;
Maintenant, déplacez-vous vers le serveur pxc-rock03, connectez-vous à l’interface de commande MySQL via un utilisateur root, puis changez la base de données de travail par défaut en ‘testdb‘.
sudo mysql -u root -p
USE testdb;Entrez la requête suivante pour créer une nouvelle table appelée ‘table1‘.
CREATE TABLE table1 (node_id INT PRIMARY KEY, node_name VARCHAR(30));
Ensuite, déplacez-vous vers le serveur pxc-rock01, connectez-vous à l’interface de commande MySQL, puis insérez de nouvelles données dans la base de données ‘testdb‘ via la requête ‘INSERT‘ ci-dessous.
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');
Une fois les données ajoutées, revenez au serveur pxc-rock02 et entrez la requête SELECT ci-dessous pour récupérer toutes les données disponibles dans la base de données ‘testdb‘ et la table ‘table1‘.
SELECT * FROM testdb.table1;Si la réplication est réussie, vous devriez avoir vos données insérées disponibles sur le serveur pxc-rock02. Vos données seront stockées sur tous les serveurs du Percona XtraDB Cluster.

Cela confirme que l’installation du Percona XtraDB Cluster sur les serveurs Rocky Linux 9 a été réussie.
Conclusion
Vous avez installé et déployé Percona XtraDB Cluster dans ce guide sur trois serveurs Rocky Linux 9. Vous avez appris comment installer Percona XtraDB Cluster, sécuriser le déploiement via firewalld, initialiser le cluster, et également ajouter des nœuds au cluster.
En plus de cela, vous avez également sécurisé l’installation de Percona XtraDB Cluster en chiffrant le trafic entre tous les serveurs à l’aide de certificats SSL/TLS et de l’option ‘pxc-encrypt-cluster-traffic’, qui est activée par défaut sur Percona XtraDB Cluster 8.0.
Avec cela, vous pouvez ajouter plus de serveurs à votre Percona XtraDB Cluster actuel en utilisant les étapes que vous avez apprises pour ajouter les serveurs pxc-rock02 et pxc-rock03. Ou vous pouvez également configurer un équilibrage de charge et une haute disponibilité avec des applications tierces telles que ProxySQL et HAPROXY. Pour en savoir plus, visitez la documentation officielle de Percona XtraDB Cluster.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.