Configurar Galera Cluster MariaDB no Ubuntu 20.04
O Galera Cluster MariaDB melhora a disponibilidade e facilita a escalabilidade do seu banco de dados. Neste tutorial, ensinamos como instalar o cluster Galera no Ubuntu 20.04.
Galera Cluster MariaDB: Pré-requisitos
Para instalar um cluster MariaDB Galera no Ubuntu 20.04, você deve atentar-se aos seguintes requisitos:
- Múltiplos servidores: São necessários pelo menos três servidores ou máquinas virtuais para configurar um cluster Galera no MariaDB. Todos os servidores devem estar na mesma rede.
- Permissões de root: É necessário que você tenha acesso root ou, pelo menos, permissões administrativas nos servidores.
Instruções passo a passo: Configurar Galera Cluster MariaDB no Ubuntu 20.04
O Galera Cluster MariaDB é uma solução prática de banco de dados que oferece alta disponibilidade, integridade dos dados e escalabilidade para aplicações exigentes. Neste tutorial passo a passo, detalhamos o processo de configuração do Galera Cluster MariaDB no Ubuntu 20.04. Antes de começar, certifique-se de que você possui pelo menos três servidores ou máquinas virtuais disponíveis para configurar o cluster.
Passo 1: Atualizar pacotes
Primeiro, você deve atualizar seu sistema Ubuntu para a versão mais recente. Isso é essencial para garantir que você tenha pacotes e atualizações de segurança atualizados.
Abra um terminal e execute o seguinte comando para atualizar as fontes de pacotes:
Instale todas as atualizações disponíveis:
É recomendável que você também remova pacotes obsoletos ou não utilizados para limpar os servidores:
Passo 2: Instalar o MariaDB nos servidores
Agora, instale o MariaDB em cada um de seus servidores. Desde a versão 10.1, os pacotes do Galera também estão incluídos junto com o servidor MariaDB.
Após a instalação, você pode iniciar o serviço MariaDB:
Use o seguinte comando para garantir que o MariaDB seja iniciado automaticamente a cada reinicialização do sistema:
Verifique se o MariaDB está em execução:
Você também deve fazer algumas configurações básicas de segurança e configurar o banco de dados. Para isso, inicie o assistente de configuração:
O assistente irá guiá-lo pelos passos, como definir uma senha de root, remover usuários anônimos e remover o banco de dados de teste.
O script pergunta primeiro pela senha atual do root (current password for root). Se você instalou agora o MariaDB no Ubuntu 20.04, pressione a tecla [Enter] e, em seguida, defina uma nova senha.
Passo 3: Configurar nós do Galera Cluster MariaDB
Crie um arquivo cnf
no diretório /etc/mysql/conf.d
em cada nó para definir as configurações específicas do Galera.
O arquivo deve incluir configurações gerais do banco de dados, como o formato de log binário e a engine de armazenamento padrão. Além disso, ele deve conter configurações para o cluster Galera, incluindo o nome do cluster e o endereço do cluster.
Adicione as seguintes linhas para o primeiro nó:
- Configurações gerais do banco de dados: Incluem parâmetros como
binlog_format=ROW
, que define o formato dos logs binários, edefault-storage-engine=innodb
, que define a engine de armazenamento padrão. - Configuração do provedor Galera: O parâmetro
wsrep_on=ON
ativa a replicação Galera, ewsrep_provider=/usr/lib/galera/libgalera_smm.so
define o caminho para a biblioteca Galera. - Configuração do cluster Galera: Inclui o nome do cluster (
wsrep_cluster_name
) e o endereço do cluster (wsrep_cluster_address
), que contêm os endereços IP ou nomes dos nós no cluster. - Sincronização Galera: Define o método de transferência de estado (State Snapshot Transfer – SST), por exemplo,
wsrep_sst_method=rsync
. - Configuração do nó Galera: Define o endereço IP ou nome do host do nó atual (
wsrep_node_address
) e o nome do nó (wsrep_node_name
).
Após salvar este arquivo, crie outro para o segundo nó:
Agora, siga com o último nó:
Passo 4: Alterar configurações de firewall nos servidores
Como os nós se comunicam entre si por meio de portas específicas, você deve ajustar as configurações do firewall.
Abra as seguintes portas no seu firewall:
- Porta 3306: Essa é a porta padrão para o MariaDB. Ela é usada para comunicação e consultas do banco de dados.
- Portas do Galera: Além da porta padrão 3306, o Galera usa outras portas para comunicação interna entre os nós. O intervalo padrão para portas do Galera geralmente é 4567, 4568 e 4444 para o State Snapshot Transfer (SST).
Você pode definir as configurações do firewall no seu servidor Ubuntu com o seguinte comando:
Passo 5: Iniciar o Galera Cluster MariaDB
Interrompa o serviço MariaDB, se ele já estiver em execução:
Este comando inicia o servidor MariaDB e inicializa um novo cluster Galera no primeiro nó:
Verifique o número de nós no cluster:
Você deve ver a seguinte saída:
O primeiro nó foi iniciado com sucesso.
Ative o segundo nó:
Verifique se o número de nós aumentou:
No console, você verá:
Agora, inicie o terceiro nó:
Verifique se o nó está funcionando corretamente:
Agora, deve haver três nós no cluster:
Passo 6: Testar replicação
Certifique-se de que você pode se conectar a cada nó no cluster. Use o cliente MariaDB para fazer login como usuário root ou como outro usuário com permissões adequadas.
Crie um novo banco de dados de teste em um dos nós do cluster:
Faça login nos demais nós e verifique se o banco de dados de teste está presente nestes:
O banco de dados de teste deve aparecer na lista de bancos de dados:
Adicione uma nova tabela de teste no banco de dados de teste:
Insira alguns dados de teste na coluna name
da tabela de teste:
Verifique nos outros nós se a tabela de teste e os dados inseridos foram replicados:
A saída deve mostrar a lista de pessoas com os respectivos nomes e IDs:
Modifique um registro na tabela de teste:
Tente excluir um registro:
Verifique nos outros nós se as atualizações e exclusões foram replicadas:
As alterações devem ser realizadas com sucesso em cada nó: