Banco de Dados · 15 min read · Sep 26, 2025

Como Instalar o Percona XtraDB Cluster no Debian 11

Percona XtraDB Cluster é uma solução de clustering de banco de dados totalmente open-source para MySQL. Ele permite que você crie uma implantação robusta de servidor MySQL de alta disponibilidade que oferece alto desempenho. A versão mais recente do Percona XtraDB Cluster é 8.0, que é totalmente compatível com a edição comunitária do MySQL Server 8.0.

Percona XtraDB Cluster fornece recursos como replicação síncrona, replicação de múltiplas fontes, provisionamento automático de nós, configuração automática de criptografia SSL e desempenho otimizado.

Percona XtraDB Cluster garante a alta disponibilidade do seu servidor de banco de dados, fornece escalabilidade linear e previne tempo de inatividade e perda de dados.

Neste tutorial, você instalará e configurará o cluster MySQL via Percona XtraDB Cluster (PXC) em servidores Debian 11. Você instalará o Percona XtraDB Cluster - uma solução open-source para cluster MySQL - em múltiplos servidores Debian, e então configurará o cluster MySQL para habilitar a replicação entre múltiplos servidores MySQL.

Pré-requisitos

Para completar este tutorial, você precisará de dois ou mais servidores rodando Debian 11. Além disso, você deve ter um usuário não-root com privilégios de administrador sudo/root em todos os seus servidores.

Este exemplo utiliza três servidores Debian 11 com os seguintes detalhes:

Hostname       IP Address  
--------------------------  
pxc01       192.168.5.15  
pxc02       192.168.5.16  
pxc03       192.168.5.17

Quando todos os servidores estiverem prontos, você pode começar a instalar o Percona XtraDB Cluster.

Configurar Hosts e Firewall

Primeiro, você deve configurar o arquivo /etc/hosts em cada servidor para garantir que cada nome de host seja resolvido para o endereço IP correto, e então configurar um firewall para abrir algumas portas que o Percona XtraDB Cluster usará. Isso deve ser feito em todos os servidores.

Abaixo estão os detalhes das portas do Percona XtraDB Cluster que você deve abrir no seu firewall.

Ports   Used for  
---------------------------  
3306    Conexão do cliente MySQL e SST (State Snapshot Transfer)  
4444    SST via Percona XtraBackup  
4567    Tráfego de replicação de write-set (via TCP) e replicação multicast (via TCP e UDP)  
4568    IST (Incremental State Transfer)

Para começar, abra o arquivo de configuração ‘/etc/hosts’ usando o seguinte editor nano.

sudo nano /etc/hosts

Adicione as seguintes linhas ao arquivo e tenha certeza de alterar os detalhes dos endereços IP e nomes de host de acordo com seu ambiente.

192.168.5.15  pxc01  
192.168.5.16  pxc02  
192.168.5.17  pxc03

Salve e saia do arquivo quando terminar.

Agora insira o seguinte comando ‘apt install’ para instalar o pacote de firewall ufw. Quando solicitado, digite y para confirmar e pressione ENTER para prosseguir.

sudo apt install ufw

install ufw

Após a instalação do ufw, execute o seguinte comando ufw para adicionar o serviço OpenSSH. Isso garantirá que você não fique bloqueado fora do seu servidor. E se você tiver uma porta SSH personalizada, pode simplesmente alterar o parâmetro ‘OpenSSH’ pela sua porta SSH.

sudo ufw allow OpenSSH

Em seguida, insira o seguinte comando ufw para abrir algumas portas que o Percona XtraDB Cluster usará. Certifique-se de alterar a sub-rede de um endereço IP interno de acordo com seu ambiente atual.

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

setup ufw

Depois disso, execute e habilite o firewall ufw inserindo o comando ‘ufw enable’. Quando solicitado, digite y para confirmar e pressione ENTER para prosseguir. Uma saída ‘Firewall is active and enabled on system startup’ confirma que o firewall ufw está em execução e será iniciado automaticamente na inicialização do sistema.

sudo ufw enable

Por fim, verifique o status do firewall ufw usando o seguinte comando.

sudo ufw status

Você deve receber uma saída como esta.

verify ufw

Instalando o Percona XtraDB Cluster

Nesta seção, você adicionará e configurará o repositório Percona XtraDB para distribuição baseada em Debian. Em seguida, você instalará o Percona XtraDB em todos os seus servidores.

Além disso, durante a instalação, você será solicitado a configurar a senha root do MySQL e a configurar o plugin de autenticação padrão para o Percona XtraDB Cluster. Por fim, você verificará a instalação do Percona XtraDB Cluster fazendo login no shell do MySQL via usuário root do MySQL e a senha que você configurou.

Para começar, insira o seguinte comando apt para instalar algumas dependências básicas. Digite y quando solicitado e pressione ENTER para prosseguir.

sudo apt install wget gnupg2 lsb-release curl -y

install basic dependencies

Em seguida, baixe o pacote do repositório Percona XtraDB via o seguinte comando wget. Uma vez baixado, instale-o via o comando ‘dpkg -i‘ abaixo.

wget -q https://repo.percona.com/apt/percona-release_latest.generic_all.deb  
sudo dpkg -i percona-release_latest.generic_all.deb

add repo percona xtradb

Agora atualize e atualize seu índice de pacotes Debian e execute o comando ‘percona-release‘ para configurar o repositório do Percona XtraDB Cluster. Neste exemplo, você habilitará o pacote do Percona XtraDB Cluster v8.0, que é equivalente ao servidor MySQL v8.0.

sudo apt update  
sudo percona-release setup pxc80

Atualize o repositório.

refresh repo

Habilite o repositório do Percona XtraDB Cluster v8.0.

enable percona 80

Uma vez que o repositório esteja habilitado, insira o comando ‘apt install‘ para instalar o pacote ‘percona-xtradb-cluster‘ em seus sistemas. Digite y para confirmar a instalação e pressione ENTER para prosseguir.

sudo apt install percona-xtradb-cluster

install percona extradb

Durante a instalação do Percona XtraDB Cluster, você deve ser solicitado a configurar a senha root do MySQL.

Digite a nova senha forte e selecione OK.

setup password

Repita sua senha e selecione OK novamente.

Para o plugin de autenticação padrão do MySQL, escolha a opção ‘Use strong password encryption (RECOMMENDED)‘ e selecione OK.

setup password

Agora o Percona XtraDB Cluster deve estar instalado e será iniciado e habilitado automaticamente.

Quando o Percona XtraDB Cluster estiver instalado, insira o seguinte comando para verificar o status do serviço MySQL.

sudo systemctl is-enabled mysql  
sudo systemctl status mysql

Uma saída ‘enabled‘ confirma que o servidor MySQL está habilitado e será iniciado automaticamente na inicialização do sistema. E a saída ‘active (running)‘ confirma que o servidor MySQL está em execução.

setup auth

Para verificar sua senha root do MySQL, faça login no shell do MySQL via o comando ‘mysql‘ abaixo. Quando solicitado pela senha, insira sua senha root do MySQL.

sudo mysql -u root -p

Quando bem-sucedido, você deve obter o shell do MySQL.

login to mysql

Você também pode verificar os detalhes do status do seu servidor MySQL inserindo a seguinte consulta.

sudo systemctl status mysql

Você deve receber uma saída semelhante a esta - Você fez login no Percona XtraDB Cluster MySQL 8.0.

verify mysql

Neste ponto, você agora configurou o arquivo /etc/hosts do seu sistema, instalou e configurou o firewall ufw, e também instalou o Percona XtraDB Cluster MySQL 8.0 em todos os seus servidores. Você está pronto para começar a configurar o Percona XtraDB Cluster.

Parando o Serviço Percona XtraDB Cluster

Antes de começar a configurar o Percona XtraDB Cluster, você deve garantir que o servidor MySQL esteja parado.

Insira o seguinte comando do systemctl para parar o servidor MySQL em seus servidores. Em seguida, verifique o status do servidor MySQL para garantir que o serviço esteja parado.

sudo systemctl stop mysql

Uma saída ‘inactive (dead)‘ confirma que o servidor MySQL está parado.

Agora você pode começar a inicializar o Percona XtraDB Cluster para o primeiro nó ‘pxc01‘.

Copiando Certificados SSL/TLS

O Percona XtraDB Cluster possui dois tipos de criptografia de tráfego: uma conexão cliente-servidor e tráfego de replicação. Na versão mais recente do Percona XtraDB Cluster v8.0, todo o tráfego de replicação é habilitado por padrão para aumentar a segurança.

Durante a instalação do Percona XtraDB Cluster, SSL/TLS é gerado automaticamente no diretório de dados ‘/var/lib/mysql‘. Insira o seguinte comando para verificar a lista de certificados SL/TLS no diretório ‘/var/lib/mysql‘.

ls /var/lib/mysql/*.pem

Você deve ver três tipos de certificados SSL/TLS, Cliente, Servidor e CA.

Para criar e configurar o Percona XtraDB Cluster, todos os servidores devem ter os mesmos certificados CA e de Servidor. Portanto, você deve copiar os certificados CA e de Servidor padrão do ‘pxc01‘ para ‘pxc02‘ e ‘pxc03‘.

No servidor ‘pxc01‘, mude seu diretório de trabalho para o diretório ‘/var/lib/mysql’.

cd /var/lib/mysql

Insira o seguinte comando scp para copiar os certificados CA e de Servidor para os servidores ‘pxc02‘ e ‘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/mysql

Você receberá uma saída semelhante a esta - Copie os certificados CA e de Servidor do ‘pxc01‘ para os servidores ‘pxc02‘ e ‘pxc03‘.

Com os certificados SSL/TLS copiados, você pode inicializar o Percona XtraDB Cluster.

Inicializando o Percona XtraDB Cluster no Primeiro Nó

Nesta seção, você inicializará o Percona XtraDB Cluster a partir do primeiro servidor nó ‘pxc01‘. Certifique-se de executar os seguintes passos no servidor ‘pxc01‘.

Abra o arquivo de configuração do MySQL ‘/etc/mysql/my.cnf’ usando o seguinte comando do editor nano.

sudo nano /etc/mysql/my.cnf

Adicione as seguintes linhas ao arquivo. Certifique-se de alterar o valor de ‘wsrep_cluster_address‘ com os endereços IP de todos os seus servidores. Além disso, no ‘wsrep_node_address‘, você deve inserir o endereço IP do ‘pxc01‘.

[mysqld]  
datadir=/var/lib/mysql  
user=mysql  
  
# Caminho para a biblioteca Galera  
wsrep_provider=/usr/lib/libgalera_smm.so  
  
# URL de conexão do cluster contém os IPs de pxc01, pxc02 e pxc03  
wsrep_cluster_address=gcomm://192.168.5.15,192.168.5.16,192.168.5.17  
  
# Para que o Galera funcione corretamente, o formato do binlog deve ser ROW  
binlog_format=ROW  
  
# O uso do mecanismo de armazenamento MyISAM não é recomendado.  
default_storage_engine=InnoDB  
  
# Este modo de bloqueio de auto incremento do InnoDB é um requisito para o Galera  
innodb_autoinc_lock_mode=2  
  
# Endereço do Nó 1  
wsrep_node_address=192.168.5.15  
  
# Método SST  
wsrep_sst_method=xtrabackup-v2  
  
# Nome do cluster  
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.pem

Salve e feche o arquivo ‘/etc/mysql/my.cnf‘ quando terminar.

mysql confog pxc01

Em seguida, execute o seguinte comando systemctl para inicializar e inicializar o Percona XtraDB Cluster.

O ‘mysql@bootstrap‘ é um serviço systemd que é usado para executar o Percona XtraDB Cluster e isso é diferente do serviço ‘mysql‘. Ao construir um servidor MySQL com o Percona XtraDB Cluster, o primeiro nó deve ser executado com o serviço ‘mysql@bootstrap‘.

systemctl start [email protected]

Quando terminar, insira o seguinte comando mysql para fazer login no shell do MySQL. Digite a senha root do seu servidor MySQL.

sudo mysql -u root -p

Insira a seguinte consulta MySQL para garantir que o cluster esteja inicializado.

show status like 'wsrep%';

Você deve receber uma saída como esta - Na seção ‘wsrep_cluster_size‘ você verá o valor ‘1‘, o que significa que o Percona XtraDB Cluster está inicializado com 1 servidor. Você também obterá os endereços IP do servidor na seção ‘wsrep_incoming_address‘. Por fim, o nó está no estado Sincronizado, o que significa que está totalmente conectado e pronto para replicação de write-set.

cluster enabled

Com o primeiro nó inicializado, você está pronto para adicionar o segundo e o terceiro nós ‘pxc02‘ e ‘pxc03‘ ao Percona XtraDB Cluster.

Adicionando o Nó 2 e o Nó 3 ao Cluster

Adicionar novos nós ao Percona XtraDB Cluster é semelhante à inicialização do primeiro nó. Abaixo estão os passos simples que você precisará seguir:

  • Modificar o arquivo de configuração do MySQL ‘/etc/mysql/my.cnf’.
  • Iniciar o servidor MySQL
  • Fazer login no shell do MySQL e verificar o Percona XtraDB Cluster.

Agora, vamos começar a adicionar ‘pxc02‘ e ‘pxc03‘ ao Percona XtraDB Cluster.

Adicionando o Nó pxc02

Faça login no servidor ‘pxc02‘ e abra o arquivo de configuração do MySQL ‘/etc/mysql/my.cnf‘ usando o seguinte comando do editor nano.

sudo nano /etc/mysql/my.cnf

Adicione as seguintes linhas ao arquivo e tenha certeza de alterar o valor de ‘wsrep_cluster_address‘ com os endereços IP de todos os seus servidores. Além disso, no ‘wsrep_node_address‘, você deve inserir o endereço IP do ‘pxc02‘.

[mysqld]  
  
datadir=/var/lib/mysql  
user=mysql  
  
# Caminho para a biblioteca Galera  
wsrep_provider=/usr/lib/libgalera_smm.so  
  
# URL de conexão do cluster contém os IPs de pxc01, pxc02 e pxc03  
wsrep_cluster_address=gcomm://192.168.5.15,192.168.5.16,192.168.5.17  
  
# Para que o Galera funcione corretamente, o formato do binlog deve ser ROW  
binlog_format=ROW  
  
# O uso do mecanismo de armazenamento MyISAM não é recomendado  
default_storage_engine=InnoDB  
  
# Este modo de bloqueio de auto incremento do InnoDB é um requisito para o Galera  
innodb_autoinc_lock_mode=2  
  
# Endereço do Nó #2  
wsrep_node_address=192.168.5.16  
  
# Nome do cluster  
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.pem

Salve e feche o arquivo ‘/etc/mysql/my.cnf‘ quando terminar.

mysql cnf pxc02

Em seguida, inicie o servidor MySQL inserindo o seguinte comando do systemctl. Em seguida, verifique o status do servidor MySQL para garantir que ele esteja em execução.

Isso iniciará o serviço MySQL e se juntará ao Percona XtraDB Cluster inicializado no servidor ‘pxc01‘.

sudo systemctl start mysql  
sudo systemctl status mysql

start and verify mysql pxc02

Para verificar se o processo foi bem-sucedido, você deve fazer login no shell do MySQL. Insira o seguinte comando para fazer login no shell do MySQL como usuário root. Quando solicitado, insira sua senha root do MySQL.

sudo mysql -u root -p

Uma vez logado, insira a seguinte consulta MySQL para verificar o status do Percona XtraDB Cluster.

show status like 'wsrep%';

Você deve receber uma saída como esta - Na seção ‘wsrep_cluster_size‘ você verá o valor ‘2’, o que significa que há dois servidores disponíveis no Percona XtraDB Cluster. Você também obterá os endereços IP do servidor na seção ‘wsrep_incoming_address‘, que são os endereços IP dos servidores pxc01 e pxc02. Por fim, o nó está no estado Sincronizado, o que significa que está totalmente conectado e pronto para replicação de write-set.

verify cluster pxc02

Com isso, o Percona XtraDB Cluster agora está em execução com dois nós/servidores pxc01 e pxc02. Em seguida, vá para o servidor pxc03 para adicioná-lo ao Percona XtraDB Cluster.

Adicionando o Nó pxc03

Faça login no servidor ‘pxc03‘ e abra o arquivo de configuração do MySQL ‘/etc/mysql/my.cnf‘ usando o seguinte comando do editor nano.

sudo nano /etc/mysql/my.cnf

Adicione as seguintes linhas ao arquivo e tenha certeza de alterar o valor de ‘wsrep_cluster_address‘ com os endereços IP de todos os seus servidores. Além disso, no ‘wsrep_node_address‘, você deve inserir o endereço IP do ‘pxc03‘.

[mysqld]  
  
datadir=/var/lib/mysql  
user=mysql  
  
# Caminho para a biblioteca Galera  
wsrep_provider=/usr/lib/libgalera_smm.so  
  
# URL de conexão do cluster contém os IPs de pxc01, pxc02 e pxc03  
wsrep_cluster_address=gcomm://192.168.5.15,192.168.5.16,192.168.5.17  
  
# Para que o Galera funcione corretamente, o formato do binlog deve ser ROW  
binlog_format=ROW  
  
# O uso do mecanismo de armazenamento MyISAM não é recomendado  
default_storage_engine=InnoDB  
  
# Este modo de bloqueio de auto incremento do InnoDB é um requisito para o Galera  
innodb_autoinc_lock_mode=2  
  
# Endereço do Nó #2  
wsrep_node_address=192.168.5.17  
  
# Nome do cluster  
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.pem

Salve e feche o arquivo ‘/etc/mysql/my.cnf‘ quando terminar.

mysql conf px03

Em seguida, inicie o servidor MySQL inserindo o seguinte comando do systemctl. Em seguida, verifique o status do servidor MySQL para garantir que ele esteja em execução.

Isso iniciará o serviço MySQL e se juntará ao Percona XtraDB Cluster.

sudo systemctl start mysql

start verify pxc03

Para verificar se o processo foi bem-sucedido, você deve fazer login no shell do MySQL. Insira o seguinte comando para fazer login no shell do MySQL como usuário root. Quando solicitado, insira sua senha root do MySQL.

sudo mysql -u root -p

Uma vez logado, insira a seguinte consulta MySQL para verificar o status do Percona XtraDB Cluster.

show status like 'wsrep%';

Você deve receber uma saída como esta - Na seção ‘wsrep_cluster_size‘ você verá o valor ‘3’, o que significa que três servidores estão disponíveis no Percona XtraDB Cluster. Você também obterá os endereços IP do servidor na seção ‘wsrep_incoming_address‘, que são os endereços IP dos servidores pxc01, pxc02 e pxc03. Por fim, o nó está no estado Sincronizado, o que significa que está totalmente conectado e pronto para replicação de write-set.

verify cluster status pxc03

Com isso, o Percona XtraDB Cluster agora está em execução com três servidores Debian pxc01, pxc02 e pxc03. Você agora terminou a implantação do Percona XtraDB Cluster com três servidores Debian 11. No próximo passo, você verificará a replicação do banco de dados entre o servidor Percona XtraDB Cluster.

Testando a Replicação

Faça login no shell do MySQL a partir do servidor ‘pxc02‘ e crie um novo banco de dados ‘percona‘.

sudo mysql -u root -p  
CREATE DATABASE percona;

Agora vá para o servidor ‘pxc03‘, faça login no shell do MySQL via usuário root do MySQL, e então mude para o banco de dados ‘percona‘ que você criou a partir do servidor ‘pxc02‘.

sudo mysql -u root -p  
USE percona;

Quando bem-sucedido, você deve receber uma saída como ‘Banco de dados alterado’. Isso também confirma que o banco de dados ‘percona’ está replicado entre os servidores Percona XtraDB Cluster.

verify replication

Em seguida, execute a seguinte consulta MySQL para criar uma nova tabela ‘example‘ a partir do servidor ‘pxc03‘.

CREATE TABLE example (node_id INT PRIMARY KEY, node_name VARCHAR(30));

verify replication 2

Então, volte para o servidor ‘pxc01‘ e execute a seguinte consulta para inserir novos dados no banco de dados ‘percona‘.

INSERT INTO percona.example VALUES (1, 'pxc01');  
INSERT INTO percona.example VALUES (2, 'pxc02');  
INSERT INTO percona.example VALUES (3, 'pxc03');

Por fim, volte para o servidor ‘pxc02‘ e execute a seguinte consulta para recuperar os dados do banco de dados ‘percona‘ e da tabela ‘example‘.

SELECT * FROM percona.example;

Você deve receber uma saída como esta - Os dados estão disponíveis no ‘pxc02‘ Percona XtraDB Cluster. Com isso, a replicação entre os servidores Percona XtraDB Cluster está funcionando, o que significa que sua implantação do Percona XtraDB Cluster em servidores Debian 11 também foi bem-sucedida.

verify replication pxc03

Conclusão

Neste tutorial, você instalou e configurou o Percona XtraDB Cluster com três servidores Debian 11. Você inicializou o Percona XtraDB Cluster e adicionou dois nós/servidores ao Percona XtraDB Cluster. Além disso, você também protegeu o Percona XtraDB Cluster via firewall ufw.

Além disso, você também protegeu o Percona XtraDB Cluster criptografando o tráfego entre todos os servidores usando certificados SSL/TLS. Isso é alcançado com a opção ‘pxc-encrypt-cluster-traffic’, habilitada por padrão.

Com isso, você pode agora começar a adicionar mais servidores ao seu Percona XtraDB Cluster usando os passos que você aprendeu e adicionando nós adicionais que permitirão alta disponibilidade e balanceamento de carga no Percona XtraDB Cluster. Para saber mais, visite a documentação oficial do Percona XtraDB Cluster.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.