Detectar, preparar e restaurar uma replicação Mysql inclinada

Fonte: Pt Ikoula wiki
Revisão em 19h07min de 3 de junho de 2016 por Ikbot (discussão | contribs)
Ir para navegação Ir para pesquisar

ja:検出し、準備し、傾斜の Mysql レプリケーションを復元 ar:كشف، وإعداد وإعادة تكرار الخلية مائلة zh:检测、 准备和还原倾斜的 Mysql 复制 de:Erkennen, vorzubereiten und eine schräge Mysql-Replikation wiederherstellen nl:Detecteren, het voorbereiden en het herstel van een gekantelde Mysql replicatie it:Rilevare, preparare e ripristinare una replica di Mysql inclinata es:Detectar, preparar y restaurar una replicación Mysql inclinada en:Detect, prepare and restore a tilted Mysql replication fr:Détecter, préparer et rétablir une réplication Mysql basculée

Este artigo foi traduzido por um sistema de tradução automática. Você pode visualizar a fonte do artigo aqui.

No Debian 8

Você implementou um sistema de replicação de banco de dados Mysql através de uma configuração mestre /escravo. Quando ocorre um problema no servidor mestre, este é o servidor escravo (escravo ) Quem assume. No entanto é de referir que esta escala ocorreu.

Deteção

  • Dependendo do seu nível de serviço, você pode ser um acompanhamento do funcionamento da replicação, é avisados pelo apoio em caso de alternância.
  • Em caso de alternância no master para o servidor do servidor slave, o ip do último será automaticamente alterado para responder em vez do servidor mestre
  • O volume do eslavo DB será mais importante e irá conter as últimas informações gravadas.
  • Pelo comando sobre o BDD :

Você conectar o BDD :

   MySQL  -u votre_utilisateur -p sua_senha 

Em seguida, verifique o status do servidor mestre :

   mostrar a sintaxe do status de mestre \G

Prepare-se

Antes de executar os comandos que se seguem, planejar a operação ! Prefiro um intervalo de tempo ou solicitação de bancos de dados é dele mínimos. Certifique-se de seu BDD não é modificada pelo também colocar o seu site em manutenção

Absolutamente não deve haver escrito sobre o tempo de resposta de BDD escravo !

> No caso de escrita durante o procedimento, aqui estão as consequências :

  • Replicar fora de sincronização
  • Dados podem ser perdidos ou corrompidos

Evitar escrever

Para evitar a escrita de um banco de dados, ele deve implementar a somente leitura (read-only). Que terá o efeito de bloquear solicitações para gravar o DB.

Em SLAVE

   TABELAS NIVELADAS COM BLOQUEIO DE LEITURA ; SET GLOBAL read_only = UM ;

Criar o despejo

Uma vez o escravo somente leitura, pode largar suas tabelas com segurança : Em SLAVE

   MySQL dump --Skip-adicionar-fechaduras  --Single-transação  -u votre_utilisateur -p sua_senha  --todos-bases de dados  --ignore-table =User  > /destination/de/depart/mon/backup.sql

Substituir obviamente /destination/de/mon/backup.sql por seu destino habitual de backup. Por convenção, a data no formato backupDDMMAAAA.sql lá para encontrar :)

Enviando o despejo

Na medida em que os servidores escravos e mestres são remotos, você passar o arquivo de despejo de escravo ao mestre. Existem várias maneiras de fazê-lo tem esta transferência de arquivo, mas aqui vamos discutir o uso de PCs que permite para fazer cópias usando o serviço SSH.

  • login 1 : login ssh da máquina escravo
  • login2 : login ssh da máquina mestre
  • Servidor 1 : IP ou Hostname máquina escravo
  • Servidor 2 : IP ou Hostname máquina mestre
  • Caminho /Arquivo 1 : /destination/de/depart/de/mon/backup.sql
  • Caminho /Arquivo 2 : /destination/darrivee/de/mon/backup.sql
   SCP Login  1@Servidor 1:Caminho /Arquivo 1 Login2@Servidor 2:Caminho /Arquivo 2

Importar o despejo

Em seguida, importar los no mestre de banco de dados a fim de sincronizar o 2 BDD. No MASTER

   mysql -u votre_utilisateur -p sua_senha < /destination/de/mon/backup.sql

Rétablir la réplication

Sur le serveur MASTER: Vous avez besoin d'informations provenant du serveur master, exécutez donc la commande:

   echo "show master status\G" | mysql -u votre_utilisateur -p votre_mot_de_passe

Garder ces deux lignes de côté :

  • File: mysql-bin.1X1X1X
  • Position: 2X2X2X2X2

Sur SLAVE Actualisez les clauses MASTER_LOG_FILE et MASTER_LOG_POS par les informations de la commande précédente.

  • MASTER_LOG_FILE étant File:
  • MASTER_LOG_POS étant Position
   stop slave; CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.1X1X1X', MASTER_LOG_POS=2X2X2X2X2;start slave;


Test et finalisation

Pour vérifier la mise en place de cette réplication utilisez sur le SLAVE:

   echo "show slave status\G" | mysql -u votre_utilisateur -p votre_mot_de_passe

Vérifiez ces lignes :

  • Slave_IO_Running sur Yes
  • Slave_SQL_Running sur Yes
  • Seconds_Behind_Master a 0

Si tout correspond la mise en place de la réplication s'est bien déroulée. Retirer la restriction lecture seule sur votre bdd SLAVE:

  SET GLOBAL read_only = OFF;UNLOCK TABLES;

Vous pouvez redémarrer tous vos services utilisant les Bdd.

Vérifiez leur bonne exécution grâce a la commande suivante en remplaçant "votreservice" par celui concerné. exemple: votre serveur web apache : "apache2" votre SGBD Mysql : "mysql"

  systemctl  status "votreservice".service

Cette documentation a été crée a partir de la documentation interne et de la documentation officielle Mysql



Não tem permissão para colocar comentários.