Como configurar a replicação do MySQL Master-Slave no Ubuntu 18.04

Como configurar a replicação do MySQL Master-Slave no Ubuntu 18.04

Mysql A replicação de escravos mestre é um procedimento que permite que os arquivos de banco de dados sejam replicados ou copiados em um ou mais nós em uma rede. Esta configuração fornece redundância e tolerância a falhas, de modo que no caso de uma falha no Nó mestre, os bancos de dados ainda podem ser recuperados no Nó de escravo. Isso dá aos usuários tranquilidades de que tudo não será perdido em nenhuma eventualidade, pois uma réplica dos bancos de dados ainda pode ser recuperada de um servidor diferente.

Neste guia, você vai aprender a realizar um Mysql base de dados Senhor de escravos replicação em um Ubuntu 18.04 sistema.

Pré -requisitos

Na configuração, teremos dois servidores em execução Ubuntu 18.04 com os seguintes endereços IP.

Servidor mestre: 10.128.0.28 Servidor escravo: 10.128.0.29 

Vamos agora mergulhar e ver como podemos configurar o Senhor de escravos Configuração de replicação em Ubuntu.

Etapa 1: Instale o MySQL nos nós mestre e escravo

Ubuntu Os repositórios contêm versão 5.7 de Mysql. Para aproveitar qualquer novo recurso e evitar problemas em potencial, você deve instalar a versão mais recente do MySQL. Mas primeiro, vamos atualizar os dois nós usando o seguinte comando apt.

$ sudo apt update 
Atualize o software Ubuntu

Para instalar Mysql Nos dois nós, execute o comando.

$ sudo apt install mysql-server mysql-client 
Instale o MySQL Server no Ubuntu

Em seguida, abra o mysql arquivo de configuração.

$ sudo vim/etc/mysql/mysql.conf.d/mysqld.CNF 

No Nó mestre, role e localize o ABRIBEÇÃO DE BINDA atributo como mostrado abaixo.

Address de ligação = 127.0.0.1 

Altere o endereço de loopback para corresponder ao endereço IP do Nó mestre.

Address de ligação = 10.128.0.28 
Defina o endereço IP principal do MySQL

Em seguida, especifique um valor para o ID do servidor atributo no [MySqld] seção. O número que você escolher não deve corresponder a nenhum outro número de ID do servidor. Vamos atribuir o valor 1.

servidor-id = 1 
Defina o ID do servidor MySQL no mestre

No final do arquivo de configuração, copie e cole as linhas abaixo.

log_bin =/var/log/mysql/mysql-bin.log log_bin_index =/var/log/mysql/mysql-bin.registro.índice relay_log =/var/log/mysql/mysql-relay-bin relay_log_index =/var/log/mysql/mysql-relay-bin.índice 

Saia do arquivo de configuração e reinicie o serviço MySQL para que as alterações entrem em vigor no nó mestre.

$ sudo systemctl reinicie o mysql 

Para verificar se o MySQL Server está em execução como esperado, emita o comando.

$ sudo systemctl status mysql 
Reinicie e verifique o status do MySQL

Perfeito! O MySQL Server está em execução como esperado!

Etapa 2: Crie um novo usuário para replicação no nó mestre

Nesta seção, vamos criar um usuário de replicação no nó mestre. Para conseguir isso, faça login no servidor MySQL, como mostrado.

$ sudo mysql -u root -p 

Em seguida, prossiga e execute as consultas abaixo para criar um usuário de réplica e conceder acesso ao escravo de replicação. Lembre -se de usar seu endereço IP.

mysql> Crie o usuário 'replicação_user'@'10.128.0.29'Identificado por' Replica_Password '; mysql> Conceder escravo de replicação em *.* Para 'replicação_user'@'10.128.0.29'; 
Crie Usuário de Replicação MySQL

Em seguida, execute o seguinte comando.

mysql> Mostrar status mestre \ g 

A saída deve ser semelhante ao que você pode ver abaixo.

Verifique o status mestre do MySQL

Seja interessado e observe o mysql-bin.000002 valor e o ID da posição 1643. Esses valores serão cruciais ao configurar o servidor escravo.

Etapa 3: Configure o servidor de escravos MySQL

Vá para o servidor escravo e, como fizemos com o Servidor mestre, Abra o arquivo de configuração do MySQL.

$ sudo vim/etc/mysql/mysql.conf.d/mysqld.CNF 

Assim como o servidor mestre, prossiga para editar as seguintes linhas.

Address de ligação = 10.128.0.29 
Vincular o endereço IP mysql no escravo

Como antes, especifique um valor para o ID do servidor atributo no [MySqld] seção. Desta vez, selecione um valor diferente. Vamos com 2.

servidor-id = 2 
Defina o ID do servidor MySQL no escravo

Novamente, cole as linhas abaixo no final do arquivo de configuração.

log_bin =/var/log/mysql/mysql-bin.log log_bin_index =/var/log/mysql/mysql-bin.registro.índice relay_log =/var/log/mysql/mysql-relay-bin relay_log_index =/var/log/mysql/mysql-relay-bin.índice 

Em seguida, reinicie o servidor MySQL no nó escravo.

$ sudo systemctl reinicie o mysql 

Uma vez feito, salve e saia do editor de texto

Em seguida, faça login no shell do MySQL, como mostrado.

$ sudo mysql -u root -p 

Nesta etapa, você precisará fazer alguma configuração que permitirá o servidor escravo para se conectar ao servidor mestre. Mas primeiro, pare os fios de escravos, como mostrado.

mysql> Pare de escravo; 

Para permitir o servidor escravo Para replicar o Servidor mestre, execute o comando.

mysql> Alterar mestre para master_host = '10.128.0.28 ', master_user =' replicação_user ', master_password =' ​​[email protegido] ', master_log_file =' mysql-bin.000002 ', master_log_pos = 1643; 
Permitir replicação MySQL no servidor de escravos

Se você estiver interessado o suficiente, observará que usamos o mysql-bin.00002 Valor e ID de posição 1643 anteriormente exibido após criar o usuário de replicação de escravos.

Além disso, o endereço IP do servidor mestre, o usuário da replicação e a senha foram usados.

Mais tarde, comece o tópico que você havia parado anteriormente.

mysql> Iniciar escravo; 

Etapa 4: Verifique a replicação do MySQL Master-Slave

Para verificar se a configuração está realmente funcionando como esperado, criaremos um novo banco de dados no mestre e verifique se ele foi replicado no servidor escravo do MySQL.

Faça login no mysql no Servidor mestre.

$ sudo mysql -u root -p 

Vamos criar um banco de dados de teste. Nesse caso, criaremos um banco de dados chamado replicação_db.

mysql> Crie o banco de dados replicação_db; 

Agora, faça login na sua instância MySQL no servidor escravo.

$ sudo mysql -u root -p 

Agora liste os bancos de dados usando a consulta.

mysql> Mostrar bancos de dados; 
Verifique a replicação do MySQL Master-Slave

Você notará o banco de dados que você criou no mestre foi replicado em escravo. Incrível ! Sua replicação do MySQL Master-Slave está funcionando como esperado! Agora você pode ter certeza de que, no caso de qualquer falha, cópias de arquivos de banco de dados serão replicadas no servidor escravo.

Conclusão

Neste guia, você aprendeu a configurar um MySQL Master-Slave Configuração de replicação em Ubuntu 18.04.