Base de datos · 15 min read · Sep 26, 2025
Cómo instalar Percona XtraDB Cluster en Debian 11

Percona XtraDB Cluster es una solución de agrupación de bases de datos completamente de código abierto para MySQL. Te permite crear un despliegue de servidor MySQL robusto y de alta disponibilidad que proporciona un alto rendimiento. La última versión de Percona XtraDB Cluster es 8.0, que es totalmente 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 garantiza 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.
En este tutorial, instalarás y configurarás un clúster MySQL a través de Percona XtraDB Cluster (PXC) en servidores Debian 11. Instalarás Percona XtraDB Cluster - una solución de código abierto para clúster MySQL - en múltiples servidores Debian, luego configurarás el clúster MySQL para habilitar la replicación entre múltiples servidores MySQL.
Requisitos previos
Para completar este tutorial, necesitarás dos o más servidores que ejecuten Debian 11. Además, debes tener un usuario no root con privilegios de administrador sudo/root en todos tus servidores.
Este ejemplo utiliza tres servidores Debian 11 con los siguientes detalles:
Hostname IP Address
--------------------------
pxc01 192.168.5.15
pxc02 192.168.5.16
pxc03 192.168.5.17Cuando todos los servidores estén listos, puedes comenzar a instalar el Percona XtraDB Cluster.
Configurar Hosts y Firewall
Primero, debes configurar el archivo /etc/hosts en cada servidor para asegurarte de que cada nombre de host se resuelva a la dirección IP correcta, luego configurar un firewall para abrir algunos puertos que utilizará Percona XtraDB Cluster. Esto debes hacerlo en todos los servidores.
A continuación se detallan los puertos de Percona XtraDB Cluster que debes abrir en tu firewall.
Ports Used for
---------------------------
3306 Conexión de cliente MySQL y SST (Transferencia de Instantánea de Estado)
4444 SST a través de Percona XtraBackup
4567 tráfico de replicación de conjunto 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 de configuración ‘/etc/hosts’ utilizando el siguiente editor nano.
sudo nano /etc/hostsAgrega las siguientes líneas al archivo y asegúrate de cambiar los detalles de las direcciones IP y los nombres de host por los de tu entorno.
192.168.5.15 pxc01
192.168.5.16 pxc02
192.168.5.17 pxc03Guarda y cierra el archivo cuando termines.
Ahora ingresa el siguiente comando ‘apt install’ para instalar el paquete del firewall ufw. Cuando se te pida, ingresa y para confirmar y presiona ENTER para continuar.
sudo apt install ufw
Después de instalar ufw, ejecuta el siguiente comando ufw para agregar el servicio OpenSSH. Esto asegurará que no quedes bloqueado de tu servidor. Y si tienes un puerto SSH personalizado, puedes simplemente cambiar el parámetro ‘OpenSSH’ por tu puerto SSH.
sudo ufw allow OpenSSHA continuación, ingresa el siguiente comando ufw para abrir algunos puertos que utilizará Percona XtraDB Cluster. Asegúrate de cambiar la subred de una dirección IP interna por la de tu entorno actual.
sudo ufw allow from 192.168.5.1/24 proto tcp to any port 3306
sudo ufw allow from 192.168.5.1/24 proto tcp to any port 4444
sudo ufw allow from 192.168.5.1/24 proto tcp to any port 4567
sudo ufw allow from 192.168.5.1/24 proto udp to any port 4567
sudo ufw allow from 192.168.5.1/24 proto tcp to any port 4568
Después de eso, ejecuta y habilita el firewall ufw ingresando el comando ‘ufw enable’. Cuando se te pida, ingresa y para confirmar y presiona ENTER para continuar. Una salida ‘El firewall está activo y habilitado en el inicio del sistema’ confirma que el firewall ufw está en funcionamiento y se iniciará automáticamente al inicio del sistema.
sudo ufw enablePor último, verifica el estado del firewall ufw utilizando el siguiente comando.
sudo ufw statusDeberías recibir una salida como esta.

Instalando Percona XtraDB Cluster
En esta sección, agregarás y configurarás el repositorio de Percona XtraDB para la distribución basada en Debian. Luego, instalarás Percona XtraDB en todos tus servidores.
Además, durante la instalación, se te pedirá que configures la contraseña de root de MySQL y configures el plugin de autenticación predeterminado para Percona XtraDB Cluster. Por último, verificarás la instalación de Percona XtraDB Cluster iniciando sesión en el shell de MySQL a través del usuario root de MySQL y la contraseña que has configurado.
Para comenzar, ingresa el siguiente comando apt para instalar algunas dependencias básicas. Ingresa y cuando se te pida y presiona ENTER para continuar.
sudo apt install wget gnupg2 lsb-release curl -y
A continuación, descarga el paquete del repositorio de Percona XtraDB a través del siguiente comando wget. Una vez descargado, instálalo a través del comando ‘dpkg -i‘ a continuación.
wget -q https://repo.percona.com/apt/percona-release_latest.generic_all.deb
sudo dpkg -i percona-release_latest.generic_all.deb
Ahora actualiza y refresca tu índice de paquetes de Debian y ejecuta el comando ‘percona-release‘ para configurar el repositorio de Percona XtraDB Cluster. En este ejemplo, habilitarás el paquete de Percona XtraDB Cluster v8.0, que es equivalente al servidor MySQL v8.0.
sudo apt update
sudo percona-release setup pxc80Actualiza el repositorio.

Habilita el repositorio de Percona XtraDB Cluster v8.0.

Una vez que el repositorio esté habilitado, ingresa el comando ‘apt install’ para instalar el paquete ‘percona-xtradb-cluster’ en tus sistemas. Ingresa y para confirmar la instalación y presiona ENTER para continuar.
sudo apt install percona-xtradb-cluster
Durante la instalación de Percona XtraDB Cluster, se te pedirá que configures la contraseña de root de MySQL.
Ingresa la nueva contraseña fuerte y selecciona OK.

Repite tu contraseña y selecciona OK nuevamente.
Para el plugin de autenticación predeterminado de MySQL, elige la opción ‘Usar cifrado de contraseña fuerte (RECOMENDADO)‘ y selecciona OK.

Ahora Percona XtraDB Cluster debería estar instalado y se iniciará y habilitará automáticamente.
Cuando Percona XtraDB Cluster esté instalado, ingresa el siguiente comando para verificar el estado del servicio MySQL.
sudo systemctl is-enabled mysql
sudo systemctl status mysqlUna salida ‘enabled‘ confirma que el servidor MySQL está habilitado y se iniciará automáticamente al inicio del sistema. Y la salida ‘active (running)‘ confirma que el servidor MySQL está en funcionamiento.

Para verificar tu contraseña de root de MySQL, inicia sesión en el shell de MySQL a través del comando ‘mysql‘ a continuación. Cuando se te pida la contraseña, ingresa tu contraseña de root de MySQL.
sudo mysql -u root -pCuando tengas éxito, deberías obtener el shell de MySQL.

También puedes verificar el estado de tu servidor MySQL ingresando la siguiente consulta.
sudo systemctl status mysqlDeberías recibir una salida similar a esta - Has iniciado sesión en el Percona XtraDB Cluster MySQL 8.0.

En este punto, ya has configurado el archivo /etc/hosts de tu sistema, instalado y configurado el firewall ufw, y también instalado el Percona XtraDB Cluster MySQL 8.0 en todos tus servidores. Estás listo para comenzar a configurar Percona XtraDB Cluster.
Deteniendo el servicio Percona XtraDB Cluster
Antes de comenzar a configurar el Percona XtraDB Cluster, debes asegurarte de que el servidor MySQL esté detenido.
Ingresa el siguiente comando de systemctl para detener el servidor MySQL en tus servidores. Luego, verifica el estado del servidor MySQL para asegurarte de que el servicio esté detenido.
sudo systemctl stop mysqlUna salida ‘inactive (dead)‘ confirma que el servidor MySQL está detenido.
Ahora puedes comenzar a inicializar Percona XtraDB Cluster para el primer nodo ‘pxc01‘.
Copiando certificados SSL/TLS
Percona XtraDB Cluster tiene dos tipos de cifrado de tráfico: una conexión cliente-servidor y tráfico de replicación. En la última versión de Percona XtraDB Cluster v8.0, todo el tráfico de replicación está habilitado por defecto para mejorar la seguridad.
Durante la instalación de Percona XtraDB Cluster, SSL/TLS se genera automáticamente en el directorio de datos ‘/var/lib/mysql‘. Ingresa el siguiente comando para verificar la lista de certificados SL/TLS en el directorio ‘/var/lib/mysql‘.
ls /var/lib/mysql/*.pemDeberías ver tres tipos de certificados SSL/TLS, Cliente, Servidor y CA.
Para crear y configurar Percona XtraDB Cluster, todos los servidores deben tener los mismos certificados CA y de Servidor. Por lo tanto, debes copiar los certificados CA y de Servidor predeterminados desde ‘pxc01‘ a ‘pxc02‘ y ‘pxc03‘.
En el servidor ‘pxc01‘, mueve tu directorio de trabajo al directorio ‘/var/lib/mysql’.
cd /var/lib/mysqlIngresa el siguiente comando scp para copiar los certificados CA y de Servidor a los servidores ‘pxc02‘ y ‘pxc03‘.
scp server-key.pem server-cert.pem ca.pem root@pax02:/var/lib/mysql
scp server-key.pem server-cert.pem ca.pem root@pax03:/var/lib/mysqlRecibirás una salida similar a esta - Copia los certificados CA y de Servidor desde ‘pxc01‘ a los servidores ‘pxc02‘ y ‘pxc03‘.
Con los certificados SSL/TLS copiados, puedes inicializar el Percona XtraDB Cluster.
Inicializando Percona XtraDB Cluster en el primer nodo
En esta sección, inicializarás el Percona XtraDB Cluster desde el primer nodo servidor ‘pxc01‘. Asegúrate de ejecutar los siguientes pasos en el servidor ‘pxc01‘.
Abre el archivo de configuración de MySQL ‘/etc/mysql/my.cnf’ utilizando el siguiente comando del editor nano.
sudo nano /etc/mysql/my.cnfAgrega las siguientes líneas al archivo. Asegúrate de cambiar el valor de ‘wsrep_cluster_address‘ con las direcciones IP de todos tus servidores. Además, en ‘wsrep_node_address‘, debes ingresar la dirección IP de ‘pxc01‘.
[mysqld]
datadir=/var/lib/mysql
user=mysql
# Ruta a la biblioteca Galera
wsrep_provider=/usr/lib/libgalera_smm.so
# La URL de conexión del clúster contiene las IPs de pxc01, pxc02 y pxc03
wsrep_cluster_address=gcomm://192.168.5.15,192.168.5.16,192.168.5.17
# Para que Galera funcione correctamente, el formato de binlog debe ser ROW
binlog_format=ROW
# No se recomienda usar el motor de almacenamiento MyISAM.
default_storage_engine=InnoDB
# Este modo de bloqueo de autoincremento de InnoDB es un requisito para Galera
innodb_autoinc_lock_mode=2
# Dirección del nodo 1
wsrep_node_address=192.168.5.15
# Método SST
wsrep_sst_method=xtrabackup-v2
# Nombre del clúster
wsrep_cluster_name=pxc_cluster
#pxc_strict_mode valores permitidos: DISABLED,PERMISSIVE,ENFORCING,MASTER
pxc_strict_mode=ENFORCING
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.pemGuarda y cierra el archivo ‘/etc/mysql/my.cnf‘ cuando termines.

A continuación, ejecuta el siguiente comando systemctl para iniciar y inicializar el Percona XtraDB Cluster.
El ‘mysql@bootstrap‘ es un servicio de systemd que se utiliza para ejecutar Percona XtraDB Cluster y es diferente del servicio ‘mysql‘. Al construir un servidor MySQL con Percona XtraDB Cluster, el primer nodo debe ejecutarse con el servicio ‘mysql@bootstrap‘.
systemctl start [email protected]Cuando termines, ingresa el siguiente comando mysql para iniciar sesión en el shell de MySQL. Ingresa la contraseña de root de tu servidor MySQL.
sudo mysql -u root -pIngresa la siguiente consulta de MySQL para asegurarte de que el clúster esté inicializado.
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 del servidor en la sección ‘wsrep_incoming_address‘. Por último, el nodo está en estado Sincronizado, lo que significa que está completamente conectado y listo para la replicación de conjunto de escritura.

Con el primer nodo inicializado, estás listo para agregar el segundo y tercer nodo ‘pxc02‘ y ‘pxc03‘ al Percona XtraDB Cluster.
Agregando Node2 y Node3 al Clúster
Agregar nuevos nodos al Percona XtraDB Cluster es similar a la inicialización en el primer nodo. A continuación se presentan los pasos simples que necesitarás hacer:
- Modificar el archivo de configuración de MySQL ‘/etc/mysql/my.cnf’.
- Iniciar el servidor MySQL
- Iniciar sesión en el shell de MySQL y verificar el Percona XtraDB Cluster.
Ahora, comencemos a agregar ‘pxc02‘ y ‘pxc03‘ al Percona XtraDB Cluster.
Agregando Node pxc02
Inicia sesión en el servidor ‘pxc02‘ y abre el archivo de configuración de MySQL ‘/etc/mysql/my.cnf‘ utilizando el siguiente comando del editor nano.
sudo nano /etc/mysql/my.cnfAgrega las siguientes líneas al archivo y asegúrate de cambiar el valor de ‘wsrep_cluster_address‘ con las direcciones IP de todos tus servidores. Además, en ‘wsrep_node_address‘, debes ingresar la dirección IP de ‘pxc02‘.
[mysqld]
datadir=/var/lib/mysql
user=mysql
# Ruta a la biblioteca Galera
wsrep_provider=/usr/lib/libgalera_smm.so
# La URL de conexión del clúster contiene las IPs de pxc01, pxc02 y pxc03
wsrep_cluster_address=gcomm://192.168.5.15,192.168.5.16,192.168.5.17
# Para que Galera funcione correctamente, el formato de binlog debe ser ROW
binlog_format=ROW
# No se recomienda usar el motor de almacenamiento MyISAM
default_storage_engine=InnoDB
# Este modo de bloqueo de autoincremento de InnoDB es un requisito para Galera
innodb_autoinc_lock_mode=2
# Dirección del nodo #2
wsrep_node_address=192.168.5.16
# Nombre del clúster
wsrep_cluster_name=pxc_cluster
# Método SST
wsrep_sst_method=xtrabackup-v2
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 ‘/etc/mysql/my.cnf‘ cuando termines.

A continuación, inicia el servidor MySQL ingresando el siguiente comando de systemctl. Luego verifica el estado del servidor MySQL para asegurarte de que esté en funcionamiento.
Esto iniciará el servicio MySQL y se unirá al Percona XtraDB Cluster inicializado en el servidor ‘pxc01‘.
sudo systemctl start mysql
sudo systemctl status mysql
Para verificar que el proceso sea exitoso, debes iniciar sesión en el shell de MySQL. Ingresa el siguiente comando para iniciar sesión en el shell de MySQL como usuario root. Cuando se te pida, ingresa tu contraseña de root de MySQL.
sudo mysql -u root -pUna vez que hayas iniciado sesión, ingresa la siguiente consulta de MySQL para verificar el estado del Percona XtraDB Cluster.
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 del servidor en la sección ‘wsrep_incoming_address‘, que son las direcciones IP de los servidores pxc01 y pxc02. Por último, el nodo está en estado Sincronizado, lo que significa que está completamente conectado y listo para la replicación de conjunto de escritura.

Con esto, el Percona XtraDB Cluster ahora está funcionando con dos nodos/servidores pxc01 y pxc02. A continuación, muévete al servidor pxc03 para agregarlo al Percona XtraDB Cluster.
Agregando Node pxc03
Inicia sesión en el servidor ‘pxc03‘ y abre el archivo de configuración de MySQL ‘/etc/mysql/my.cnf‘ utilizando el siguiente comando del editor nano.
sudo nano /etc/mysql/my.cnfAgrega las siguientes líneas al archivo y asegúrate de cambiar el valor de ‘wsrep_cluster_address‘ con las direcciones IP de todos tus servidores. Además, en ‘wsrep_node_address‘, debes ingresar la dirección IP de ‘pxc03‘.
[mysqld]
datadir=/var/lib/mysql
user=mysql
# Ruta a la biblioteca Galera
wsrep_provider=/usr/lib/libgalera_smm.so
# La URL de conexión del clúster contiene las IPs de pxc01, pxc02 y pxc03
wsrep_cluster_address=gcomm://192.168.5.15,192.168.5.16,192.168.5.17
# Para que Galera funcione correctamente, el formato de binlog debe ser ROW
binlog_format=ROW
# No se recomienda usar el motor de almacenamiento MyISAM
default_storage_engine=InnoDB
# Este modo de bloqueo de autoincremento de InnoDB es un requisito para Galera
innodb_autoinc_lock_mode=2
# Dirección del nodo #3
wsrep_node_address=192.168.5.17
# Nombre del clúster
wsrep_cluster_name=pxc_cluster
# Método SST
wsrep_sst_method=xtrabackup-v2
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 ‘/etc/mysql/my.cnf‘ cuando termines.

A continuación, inicia el servidor MySQL ingresando el siguiente comando de systemctl. Luego verifica el estado del servidor MySQL para asegurarte de que esté en funcionamiento.
Esto iniciará el servicio MySQL y se unirá al Percona XtraDB Cluster.
sudo systemctl start mysql
Para verificar que el proceso sea exitoso, debes iniciar sesión en el shell de MySQL. Ingresa el siguiente comando para iniciar sesión en el shell de MySQL como usuario root. Cuando se te pida, ingresa tu contraseña de root de MySQL.
sudo mysql -u root -pUna vez que hayas iniciado sesión, ingresa la siguiente consulta de MySQL para verificar el estado del Percona XtraDB Cluster.
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 del servidor en la sección ‘wsrep_incoming_address‘, que son las direcciones IP de los servidores pxc01, pxc02 y pxc03. Por último, el nodo está en estado Sincronizado, lo que significa que está completamente conectado y listo para la replicación de conjunto de escritura.

Con esto, el Percona XtraDB Cluster ahora está funcionando con tres servidores Debian pxc01, pxc02 y pxc03. Ahora has terminado el despliegue del Percona XtraDB Cluster con tres servidores Debian 11. En el siguiente paso, verificarás la replicación de la base de datos entre el servidor Percona XtraDB Cluster.
Probando la replicación
Inicia sesión en el shell de MySQL desde el servidor ‘pxc02‘ y crea una nueva base de datos ‘percona‘.
sudo mysql -u root -p
CREATE DATABASE percona;Ahora muévete al servidor ‘pxc03‘, inicia sesión en el shell de MySQL a través del usuario root de MySQL, luego cambia a la base de datos ‘percona‘ que has creado desde el servidor ‘pxc02‘.
sudo mysql -u root -p
USE percona;Cuando tengas éxito, deberías recibir una salida como ‘Base de datos cambiada’. Esto también confirma que la base de datos ‘percona’ está replicada en los servidores del Percona XtraDB Cluster.

A continuación, ejecuta la siguiente consulta de MySQL para crear una nueva tabla ‘example‘ desde el servidor ‘pxc03‘.
CREATE TABLE example (node_id INT PRIMARY KEY, node_name VARCHAR(30));
Luego, muévete nuevamente al servidor ‘pxc01‘ y ejecuta la siguiente consulta para insertar nuevos datos en la base de datos ‘percona‘.
INSERT INTO percona.example VALUES (1, 'pxc01');
INSERT INTO percona.example VALUES (2, 'pxc02');
INSERT INTO percona.example VALUES (3, 'pxc03');Por último, regresa al servidor ‘pxc02‘ y ejecuta la siguiente consulta para recuperar los datos de la base de datos ‘percona‘ y la tabla ‘example‘.
SELECT * FROM percona.example;Deberías recibir una salida como esta - Los datos están disponibles en el ‘pxc02‘ Percona XtraDB Cluster. Con esto, la replicación entre los servidores del Percona XtraDB Cluster está funcionando, lo que significa que tu despliegue de Percona XtraDB Cluster en servidores Debian 11 también es exitoso.

Conclusión
En este tutorial, has instalado y configurado Percona XtraDB Cluster con tres servidores Debian 11. Has inicializado Percona XtraDB Cluster y agregado dos nodos/servidores al Percona XtraDB Cluster. Además, has asegurado Percona XtraDB Cluster a través del firewall ufw.
Además de eso, también has asegurado Percona XtraDB Cluster cifrando el tráfico entre todos los servidores utilizando certificados SSL/TLS. Esto se logra con la opción ‘pxc-encrypt-cluster-traffic’, habilitada por defecto.
Con esto, ahora puedes comenzar a agregar más servidores a tu Percona XtraDB Cluster utilizando los pasos que has aprendido y agregar nodos adicionales que habilitarán alta disponibilidad y balanceo de carga en Percona XtraDB Cluster. 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.