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.