Como configurar a replicação do MySQL Master-Slave no Ubuntu 18.04
- 1943
- 596
- Loren Botsford
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 updateAtualize o software Ubuntu
Para instalar Mysql Nos dois nós, execute o comando.
$ sudo apt install mysql-server mysql-clientInstale 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.28Defina 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 = 1Defina 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 mysqlReinicie 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 MySQLSeja 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.29Vincular 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 = 2Defina 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.