Base de datos · 14 min read · Sep 26, 2025
Cómo instalar Percona XtraDB Cluster en Rocky Linux 9

Percona XtraDB Cluster es una solución de agrupación de bases de datos completamente de código abierto para MySQL. Te permite crear una implementación de servidor MySQL de alta disponibilidad con robustez y alto rendimiento. La última versión de Percona XtraDB Cluster es 8.0, que es completamente compatible con MySQL Server Community Edition 8.0.
Percona XtraDB Cluster proporciona características como replicación síncrona, replicación de múltiples fuentes, aprovisionamiento automático de nodos, configuración automática de cifrado SSL y rendimiento optimizado.
Percona XtraDB Cluster asegura la alta disponibilidad de tu servidor de base de datos, proporciona escalabilidad lineal y previene el tiempo de inactividad y la pérdida de datos.
Esta guía te mostrará cómo configurar un clúster MySQL a través de Percona XtraDB Cluster (PXC) en servidores Rocky Linux 9. Instalarás Percona XtraDB Cluster en múltiples sistemas Rocky Linux y configurarás Percona XtraDB Cluster para habilitar la replicación de bases de datos entre servidores, luego también verificarás insertando datos en un servidor y comprobando los datos desde otro servidor.
Requisitos previos
Para completar esta guía, debes tener dos o más servidores ejecutando Rocky Linux 9. También debes tener un usuario no root con privilegios de administrador sudo/root en todos los servidores. Además, SELinux debe estar en modo permisivo.
Para este ejemplo, se utilizarán tres servidores Rocky Linux 9. A continuación se detallan los servidores:
Hostname IP Address
--------------------------
pxc-rock01 192.168.5.80
pxc-rock02 192.168.5.81
pxc-rock03 192.168.5.82Si todos los requisitos están listos, puedes comenzar la instalación de Percona XtraDB Cluster.
Configurando /etc/hosts y Firewalld
En este primer paso, configurarás el archivo /etc/hosts y firewalld en todos los servidores Rocky Linux. Modificarás el archivo /etc/hosts y agregarás detalles de las direcciones IP y el nombre de host para cada servidor, luego agregarás algunos puertos que serán utilizados por Percona XtraDB Cluster.
A continuación se detallan los puertos de Percona XtraDB Cluster que debes abrir en tu firewall.
Ports Used for
---------------------------
3306 Conexión del cliente MySQL y SST (Transferencia de instantáneas de estado)
4444 SST a través de Percona XtraBackup
4567 tráfico de replicación de conjuntos de escritura (a través de TCP) y replicación multicast (a través de TCP y UDP)
4568 IST (Transferencia de estado incremental)Para comenzar, abre el archivo ‘/etc/hosts’ usando el siguiente comando del editor nano.
sudo nano /etc/hostsAgrega los detalles del nombre de host y la dirección IP que se utilizarán para el clúster. Asegúrate de cambiar los detalles con tu entorno de servidor.
192.168.5.80 pxc-rock01
192.168.5.81 pxc-rock02
192.168.5.82 pxc-rock03Guarda y cierra el archivo cuando termines.
A continuación, ingresa el siguiente comando ‘firewall-cmd‘ para agregar tu subred de red interna como fuente de confianza. Con esto, solo se permitirán redes de confianza para acceder a todos los servidores.
sudo firewall-cmd --permanent --add-source=192.168.5.0/24Ahora abre algunos puertos para Percona XtraDB Cluster y recarga el firewalld para aplicar los cambios. Una salida ‘success‘ confirma que la nueva regla se agregó a firewalld.
sudo firewall-cmd --add-port={3306/tcp,4444/tcp,4567/tcp,4567/udp,4568/tcp} --permanent
sudo firewall-cmd --reloadPor último, ingresa el siguiente comando ‘firewall-cmd’ para verificar la lista de reglas habilitadas en firewalld.
sudo firewall-cmd --list-allLa siguiente salida se imprimirá en tu terminal. Asegúrate de que todos los puertos que serán utilizados por Percona XtraDB Cluster estén listados.

Con el archivo /etc/hosts y firewalld configurados, a continuación instalarás los paquetes de Percona XtraDB Cluster.
Instalando Percona XtraDB Cluster
En esta sección, instalarás Percona XtraDB Cluster en todos tus servidores Rocky Linux. Configurarás el repositorio de Percona XtraDB y luego instalarás el paquete de Percona XtraDB Cluster. También al final, cambiarás la contraseña predeterminada de root de MySQL en todos tus servidores.
Primero, debes agregar y habilitar el repositorio EPEL. Ingresa el siguiente comando ‘dnf install’ para agregar el repositorio EPEL.
sudo dnf install epel-releaseAhora ingresa el siguiente comando para instalar la aplicación de lanzamiento de Percona. Ingresa y cuando se te solicite y presiona ENTER para continuar. Este paquete proporciona una herramienta de línea de comandos ‘percona-release‘ que se puede utilizar para administrar los repositorios de Percona.
sudo dnf install https://repo.percona.com/yum/percona-release-latest.noarch.rpm -y
A continuación, ejecuta el siguiente comando ‘percona-release‘ para habilitar el repositorio de Percona XtraDB Cluster v8.0. Durante el proceso, se te pedirá que desactives el repositorio predeterminado de MySQL, ingresa y para confirmar y presiona ENTER para continuar.
sudo percona-release setup pxc-80Un mensaje de salida ‘¡Todo listo!‘ confirma que la operación fue exitosa.

Verifica la lista de repositorios habilitados ingresando el comando ‘dnf repolist’ a continuación. Deberías ver el repositorio ‘pxc-80-release’ habilitado y listado en la salida con algunos repositorios adicionales como ‘prel-release’ y ‘tools-release’.
sudo dnf repolist
Ahora ingresa el siguiente comando ‘dnf install’ para instalar el paquete de Percona XtraDB Cluster. Ingresa y cuando se te solicite confirmación y presiona ENTER para continuar.
sudo dnf install percona-xtradb-cluster
Cuando se te pida aceptar la clave GPG de Percona, ingresa y presiona ENTER para confirmar.

Una vez que Percona XtraDB Cluster esté instalado, ingresa el siguiente comando de utilidad systemctl para iniciar y habilitar el servicio MySQL.
sudo systemctl start mysql
sudo systemctl enable mysqlAhora verifica el estado del servicio MySQL usando el siguiente comando. Una salida ‘active (running)‘ confirma que MySQL está en funcionamiento. Y la salida ‘..; enabled..’ confirma que MySQL se iniciará automáticamente al inicio del sistema.
sudo systemctl status mysql
Con Percona XtraDB Cluster en funcionamiento, ahora cambiarás la contraseña predeterminada de root para todos tus servidores MySQL.
Ingresa el siguiente comando para verificar la contraseña generada por defecto para tu usuario root de MySQL. Copia la contraseña predeterminada de root de MySQL.
sudo grep 'temporary password' /var/log/mysqld.logA continuación, inicia sesión en el shell de MySQL a través del comando ‘mysql‘ a continuación. Cuando se te pida la contraseña, pega la contraseña predeterminada de MySQL que has copiado.
sudo mysql -u root -pUna vez que hayas iniciado sesión, deberías ver el shell de MySQL con un aviso como este ‘mysql>‘.

Ingresa la siguiente consulta de MySQL para cambiar la contraseña predeterminada para el usuario root de MySQL, luego sal y cierra.
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewP4ssr00tMySQL';
quit
Por último, antes de configurar el Percona XtraDB Cluster, debes detener el servicio MySQL. Ingresa el siguiente comando de utilidad ‘systemctl’ para detener el servicio MySQL en todos los servidores.
sudo systemctl stop mysqlCon Percona XtraDB Cluster instalado, la configuración de root de MySQL y el servicio MySQL detenido, ahora estarás listo para configurar y establecer el clúster.
Copiar certificados SSL/TLS
Desde Percona XtraDB Cluster 8.0, la conexión predeterminada entre servidores en el clúster debe estar cifrada. Para establecer el cifrado entre los servidores, debes tener los mismos certificados SSL/TLS en todos los servidores.
En esta sección, copiarás los certificados SSl/TLS generados por defecto desde el servidor ‘pxc-rock01‘ a los servidores ‘pxc-rock02‘ y ‘pxc-rock03‘.
En el servidor ‘pxc-rock01‘, ingresa el siguiente comando para verificar los certificados disponibles. Con esto, deberías copiar los archivos de certificado ‘server-cert.pem‘, ‘server-key.pem‘ y ‘ca.pem‘ a ambos servidores pxc-rock02 y pxc-rock03.
ls /var/lib/mysql/*.pemMueve tu directorio de trabajo a ‘/var/lib/mysql‘.
cd /var/lib/mysqlAhora ingresa el siguiente comando scp para copiar los archivos de certificado SSL/TLS a ambos servidores pxc-rock02 y 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/mysqlA continuación se muestra la salida durante el proceso de copia de certificados SSL/TLS desde el pxc-rock01 al servidor pxc-rock02.

Y a continuación se muestra la salida durante el proceso de copia de certificados SSL/TLS desde el pxc-rock01 al servidor pxc-rock03.
Inicializar Percona XtraDB Cluster en pxc-rock01
Primero, inicializarás el Percona XtraDB Cluster desde el servidor pxc-rock01. Para lograr esto, necesitarás modificar el archivo de configuración del servidor MySQL ‘/etc/my.cnf‘, luego iniciar el servicio ‘mysql@bootstrap‘.
Abre el archivo de configuración de MySQL ‘/etc/my.cnf’ usando el siguiente comando del editor nano.
sudo nano /etc/my.cnfAgrega la lista de direcciones IP de tus servidores Percona XtraDB Cluster al parámetro ‘wsrep_cluster_address‘ y agrega el parámetro ‘default_storage_engine=InnoDB‘.
# La URL de conexión del clúster contiene las IPs de pxc-rock01, pxc-rock02 y pxc-rock03
wsrep_cluster_address=gcomm://192.168.5.80,192.168.5.81,192.168.5.82
# No se recomienda usar el motor de almacenamiento MyISAM.
default_storage_engine=InnoDB
Cambia el ‘wsrep_node_address‘ con la dirección IP actual del servidor, el ‘wsrep_node_name‘ con el nombre de host del sistema y el ‘wsrep_cluster_name‘ con el nombre de tu clúster.
# Dirección del nodo 1
wsrep_node_address=192.168.5.80
# Nombre del nodo
wsrep_node_name=pxc-rock01
# Nombre del clúster
wsrep_cluster_name=pxc-cluster
Por último, al final de la línea, agrega la siguiente configuración para habilitar una conexión SSL/TLS segura entre los servidores de Percona XtraDB Cluster y la conexión sst.
# habilitar conexión 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.pemGuarda y cierra el archivo cuando termines.
A continuación, ingresa el siguiente comando de utilidad systemctl para iniciar el servicio ‘mysql@bootstrap‘ e inicializar el primer servidor de Percona XtraDB Cluster.
systemctl start [email protected]Para verificar y asegurarte de que la inicialización de Percona XtraDB Cluster fue exitosa, debes iniciar sesión en el shell de MySQL y verificar el estado ‘wsrep%‘.
Ingresa el siguiente comando ‘mysql’ para iniciar sesión en el servidor MySQL como usuario ‘root‘. Ingresa tu nueva contraseña de root de MySQL cuando se te solicite.
sudo mysql -u root -pDespués de iniciar sesión, ingresa la siguiente consulta para verificar el estado de detalles ‘wsrep%‘.
SHOW STATUS LIKE 'wsrep%';Deberías recibir una salida como esta - En la sección ‘wsrep_cluster_size‘ verás el valor ‘1‘, lo que significa que el Percona XtraDB Cluster está inicializado con 1 servidor. También obtendrás las direcciones IP de los servidores en la sección ‘wsrep_incoming_address‘. Por último, el nodo está en estado Synced, lo que significa que está completamente conectado y listo para la replicación de conjuntos de escritura.

Con esto, el primer servidor del Percona XtraDB Cluster ‘pxc-rock01‘ está inicializado. En el siguiente paso, agregarás los servidores ‘pxc-rock02‘ y ‘pxc-rock03‘ al clúster.
Agregar el servidor pxc-rock02 al Percona XtraDB Cluster
Después de que el primer Percona XtraDB Cluster esté inicializado, ahora agregarás el servidor pxc-rock02 al clúster. La forma de agregar un servidor al Percona XtraDB Cluster es similar al proceso de inicialización, necesitas modificar el archivo de configuración del servidor MySQL predeterminado ‘/etc/my.cnf‘ y definir la lista de servidores para el clúster, luego iniciar el servicio MySQL normalmente.
Ingresa el siguiente comando del editor nano para abrir el archivo de configuración de MySQL ‘/etc/my.cnf‘.
sudo nano /etc/my.cnfAgrega la lista de direcciones IP de tus servidores Percona XtraDB Cluster al parámetro ‘wsrep_cluster_address‘ y agrega el parámetro ‘default_storage_engine=InnoDB‘.
# La URL de conexión del clúster contiene las IPs de pxc-rock01, pxc-rock02 y pxc-rock03
wsrep_cluster_address=gcomm://192.168.5.80,192.168.5.81,192.168.5.82
# No se recomienda usar el motor de almacenamiento MyISAM.
default_storage_engine=InnoDB
Cambia el ‘wsrep_node_address‘ con la dirección IP actual del servidor, el ‘wsrep_node_name‘ con el nombre de host del sistema y el ‘wsrep_cluster_name‘ con el nombre de tu clúster.
# Dirección del nodo #2
wsrep_node_address=192.168.5.81
# Nombre del nodo
wsrep_node_name=pxc-rock02
# Nombre del clúster
wsrep_cluster_name=pxc-cluster
Por último, al final de la línea, agrega la siguiente configuración para habilitar una conexión SSL/TLS segura entre los servidores de Percona XtraDB Cluster y la conexión sst.
# habilitar conexión 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.pemGuarda y cierra el archivo cuando termines.
A continuación, ingresa el siguiente comando de utilidad systemctl para iniciar el servicio MySQL. Esto también hará que el servidor ‘pxc-rock02‘ se una al Percona XtraDB Cluster inicializado.
sudo systemctl start mysqlPor último, para asegurarte de que el servidor pxc-rock02 se haya agregado al Percona XtraDB Cluster, debes iniciar sesión en el shell de MySQL como usuario root a través del siguiente comando. Cuando se te pida, ingresa tu contraseña de root de MySQL.
sudo mysql -u root -pAhora ingresa la siguiente consulta para verificar el estado de detalles ‘wsrep%‘.
SHOW STATUS LIKE 'wsrep%';Deberías recibir una salida como esta - En la sección ‘wsrep_cluster_size‘ verás el valor ‘2‘, lo que significa que hay dos servidores disponibles en el Percona XtraDB Cluster. También obtendrás las direcciones IP de los servidores en la sección ‘wsrep_incoming_address‘, que son las direcciones IP de los servidores pxc-rock01 y pxc-rock02. Por último, el nodo está en estado Synced, lo que significa que está completamente conectado y listo para la replicación de conjuntos de escritura.

Agregar el servidor pxc-rock03 al Percona XtraDB Cluster
En esta sección, ahora agregarás el tercer servidor pxc-rock03 al Percona XtraDB Cluster.
Abre el archivo de configuración ‘/etc/my.cnf‘ usando el siguiente comando del editor nano.
sudo nano /etc/my.cnfAgrega la lista de direcciones IP de tus servidores Percona XtraDB Cluster al parámetro ‘wsrep_cluster_address‘ y agrega el parámetro ‘default_storage_engine=InnoDB‘.
# La URL de conexión del clúster contiene las IPs de pxc-rock01, pxc-rock02 y pxc-rock03
wsrep_cluster_address=gcomm://192.168.5.80,192.168.5.81,192.168.5.82
# No se recomienda usar el motor de almacenamiento MyISAM.
default_storage_engine=InnoDB
Cambia el ‘wsrep_node_address‘ con la dirección IP actual del servidor, el ‘wsrep_node_name‘ con el nombre de host del sistema y el ‘wsrep_cluster_name‘ con el nombre de tu clúster.
# Dirección del nodo #3
wsrep_node_address=192.168.5.82
# Nombre del nodo
wsrep_node_name=pxc-rock02
# Nombre del clúster
wsrep_cluster_name=pxc-cluster
Por último, al final de la línea, agrega la siguiente configuración para habilitar una conexión SSL/TLS segura entre los servidores de Percona XtraDB Cluster y la conexión sst.
# habilitar conexión 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.pemGuarda y cierra el archivo cuando termines.
A continuación, ingresa el siguiente comando de utilidad systemctl para iniciar el servicio MySQL y unir el servidor actual pxc-rock03 al Percona XtraDB Cluster.
sudo systemctl start mysqlPor último, ingresa el siguiente comando mysql para iniciar sesión en el shell de MySQL y verificar el estado ‘wsrep%‘. Cuando se te pida, ingresa tu contraseña de root de MySQL.
sudo mysql -u root -pAhora ingresa la siguiente consulta para verificar el estado de detalles ‘wsrep%‘.
SHOW STATUS LIKE 'wsrep%';Deberías recibir una salida como esta - En la sección ‘wsrep_cluster_size‘ verás el valor ‘3‘, lo que significa que hay tres servidores disponibles en el Percona XtraDB Cluster. También obtendrás las direcciones IP de los servidores en la sección ‘wsrep_incoming_address‘, que son las direcciones IP de los servidores pxc-rock01, pxc-rock02 y pxc-rock03. Por último, el nodo está en estado Synced, lo que significa que está completamente conectado y listo para la replicación de conjuntos de escritura.

En este punto, ahora has configurado Percona XtraDB Cluster con tres servidores diferentes de Rocky Linux 9. Y con esto, la replicación de bases de datos debería estar funcionando entre los servidores en Percona XtraDB Cluster. En el siguiente paso, verificarás la replicación de tu base de datos entre múltiples servidores.
Probar la replicación de bases de datos
En esta sección, verificarás la replicación de bases de datos en Percona XtraDB Cluster. Esto asegurará que tu instalación fue exitosa y finalizada.
Primero, inicia sesión en el shell de MySQL desde el servidor pxc-rock02 y crea una nueva base de datos llamada ‘testdb‘.
sudo mysql -u root -p
CREATE DATABASE testdb;
Ahora muévete al servidor pxc-rock03, conéctate al shell de MySQL a través de un usuario root, luego cambia la base de datos de trabajo predeterminada a ‘testdb‘.
sudo mysql -u root -p
USE testdb;Ingresa la siguiente consulta para crear una nueva tabla llamada ‘table1‘.
CREATE TABLE table1 (node_id INT PRIMARY KEY, node_name VARCHAR(30));
A continuación, muévete al servidor pxc-rock01, inicia sesión en el shell de MySQL, luego inserta nuevos datos en la base de datos ‘testdb‘ a través de la consulta ‘INSERT‘ a continuación.
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 vez que se agreguen los datos, vuelve al servidor pxc-rock02 e ingresa la consulta SELECT a continuación para recuperar todos los datos disponibles en la base de datos ‘testdb‘ y la tabla ‘table1‘.
SELECT * FROM testdb.table1;Si la replicación es exitosa, deberías tener tus datos insertados disponibles en el servidor pxc-rock02. Tus datos se almacenarán en todos los servidores del Percona XtraDB Cluster.

Esto confirma que la instalación del Percona XtraDB Cluster en los servidores Rocky Linux 9 fue exitosa.
Conclusión
Has instalado y desplegado Percona XtraDB Cluster en esta guía en tres servidores Rocky Linux 9. Has aprendido cómo instalar Percona XtraDB Cluster, asegurar la implementación a través de firewalld, inicializar el clúster y también agregar nodos al clúster.
Además de eso, también has asegurado la instalación de Percona XtraDB Cluster cifrando el tráfico entre todos los servidores utilizando certificados SSL/TLS y la opción ‘pxc-encrypt-cluster-traffic’, que está habilitada por defecto en Percona XtraDB Cluster 8.0.
Con esto, puedes agregar más servidores a tu actual Percona XtraDB Cluster utilizando los pasos que has aprendido al agregar los servidores pxc-rock02 y pxc-rock03. O también puedes configurar balanceo de carga y alta disponibilidad con aplicaciones de terceros como ProxySQL y HAPROXY. Para aprender más, visita la documentación oficial de Percona XtraDB Cluster.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.