Pesquisa de site

Como configurar a replicação mestre-escravo do MySQL no RHEL 8


Replicação MySQL é um processo onde os dados de um servidor são automaticamente copiados ou replicados para outro servidor de backup em tempo real. A replicação fornece redundância e tolerância a falhas e dá ao usuário a tranquilidade de saber que, mesmo após uma falha no servidor mestre, os dados ainda poderão ser recuperados.

Neste tutorial, você aprenderá como configurar e configurar uma replicação mestre-escravo MySQL em um Linux RHEL 8.

Pré-requisitos

Na configuração, teremos dois servidores rodando RHEL 8 com os seguintes endereços IP.

Master = 173.82.120.14
Slave  = 173.82.115.165

Vamos agora prosseguir e ver como podemos configurar a replicação mestre-escravo do MySQL no RHEL 8 Linux.

Etapa 1: Instale o MySQL no servidor Master e Slave

1. A versão mais recente do MySQL 8.x já está incluída no repositório padrão do RHEL 8 e você pode instalá-la usando o seguinte comando yum.

yum -y install @mysql

Etapa 2: MySQL seguro no servidor mestre e escravo

Após a instalação, você deve agora iniciar o serviço MySQL que acabou de instalar e fazê-lo iniciar automaticamente cada vez que iniciar o servidor. Portanto, use o seguinte comando.

systemctl enable mysqld
systemctl start mysqld

Em seguida, você precisa proteger sua instalação do MySQL executando o script de segurança que vem com várias operações baseadas em segurança, como definir a senha root, remover usuários anônimos, proibir login root remotamente, remover banco de dados de teste e recarregar privilégios.

mysql_secure_installation

Prossiga com o restante do prompt e responda Sim a todas as perguntas, então configure o servidor de acordo com as melhores práticas de segurança.

Etapa 3: Configurando o Servidor MySQL Master

Para começar com a configuração do servidor Mestre, prossiga e abra o arquivo de configuração do MySQL digitando o seguinte comando.

sudo vim /etc/my.cnf

Na seção mysqld, anexe as linhas conforme mostrado abaixo.

bind-address =173.82.120.14
server-id = 1
log_bin =mysql-bin

Finalmente, reinicie o serviço MySQL.

sudo systemctl restart mysqld

Agora vamos criar um usuário de replicação. Portanto, faça login em seu servidor mestre MySQL como usuário root e forneça a senha.

sudo mysql -u root -p

Agora execute os seguintes comandos para criar o usuário réplica e, ao mesmo tempo, conceder acesso escravo ao usuário. Lembre-se de usar o endereço IP da sua máquina.

mysql> CREATE USER 'replica'@'173.82.115.165' IDENTIFIED BY 'strong_password';
mysql> GRANT REPLICATION SLAVE ON *.*TO 'replica'@'173.82.115.165';

Agora, você vai digitar o seguinte comando que imprimirá o nome e a posição do arquivo binário.

mysql> SHOW MASTER STATUS\G

Lembre-se de anotar o nome do arquivo resultante msql-bin.000002 e sua posição 939.

Etapa 4: Configurando o Servidor MySQL Slave

Assim como no processo de configuração do master, você deve fazer as seguintes alterações no arquivo de configuração do mysql slave.

sudo vim  /etc/my.cnf

Anexe as seguintes linhas no arquivo de configuração na seção mysqld.

bind-address =173.82.115.165
server-id = 2
log_bin =mysql-bin

Reinicie o servidor.

sudo systemctl restart mysqld

Agora o próximo passo é configurar o servidor escravo para replicar do servidor mestre. Faça login no servidor MySQL.

sudo mysql -u root -p

Primeiro, interrompa os threads de replicação.

mysql> STOP SLAVE;

Agora, execute a seguinte consulta que irá configurar o escravo para replicar do servidor Master.

mysql> CHANGE MASTER TO
    -> MASTER_HOST='173.82.120.14' ,
    -> MASTER_USER='replica' ,
    -> MASTER_PASSWORD='Jupiter@2030' ,
    -> MASTER_LOG_FILE='mysql-bin.000002' ,
    -> MASTER_LOG_POS=939;

Certifique-se de usar o nome de usuário e a senha IP corretos. Além disso, use o nome do arquivo e a posição obtidos no servidor mestre.

Finalmente, digite o seguinte comando para iniciar os threads escravos.

mysql> START SLAVE;

Etapa 5: Testando a replicação mestre-escravo do MySQL

Neste ponto, você concluiu a configuração dos servidores mestre e escravo. Agora precisamos verificar se a configuração está funcionando e se a replicação pode ocorrer.

Para fazer isso, acesse o servidor mestre e faça login no servidor de banco de dados MySQL.

sudo mysql -u root -p

Crie um banco de dados de amostra.

mysql> CREATE DATABASE replication_database;

Agora vá para o servidor Slave e faça login novamente no servidor de banco de dados MySQL.

sudo mysql -u root -p

Agora liste todos os bancos de dados usando o seguinte comando.

mysql> SHOW DATABASES;

Se você vir o banco de dados criado, então a configuração da Replicação Mestre-Escravo MySQL funciona.

Conclusão

A replicação é um processo bastante simples que pode ser feito facilmente. Neste guia, você aprendeu como criar uma replicação de um MySQL mestre para escravo em um Linux RHEL 8.