Detecteren, het voorbereiden en het herstel van een gekantelde Mysql replicatie

Uit Nl Ikoula wiki
Jump to navigation Jump to search

nl:Detecteren, het voorbereiden en het herstel van een gekantelde Mysql replicatie he:לזהות, להכין ולשחזר העתק Mysql מוטה ro:Detectarea, pregăti şi restaura o înclinat replicarea Mysql ru:Обнаруживать, готовить и восстановить наклонена репликации Mysql pl:Wykrywanie, przygotować i przywrócić przechylony replikacji Mysql ja:検出し、準備し、傾斜の Mysql レプリケーションを復元 ar:كشف، وإعداد وإعادة تكرار الخلية مائلة zh:检测、 准备和还原倾斜的 Mysql 复制 de:Erkennen, vorzubereiten und eine schräge Mysql-Replikation wiederherstellen it:Rilevare, preparare e ripristinare una replica di Mysql inclinata pt:Detectar, preparar e restaurar uma replicação Mysql inclinada 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

Dit artikel is vertaald door middel van automatische vertalingssoftware. U kunt het artikel bron hier te bekijken.

Onder Debian 8

U hebt een systeem van replicatie van uw Mysql database via een master configuratie geïmplementeerd /slaaf. Wanneer een probleem op de master server optreedt, dit is de Slave -server (slave) die neemt. Echter eerst opgemerkt dat deze schaal is opgetreden.

Detectie

  • Afhankelijk van uw niveau van dienstverlening, kunt u mogelijk een controle van de werking van replicatie, wordt u gewaarschuwd door de steun in geval van een knevel.
  • In het geval van knevel op de master de slave-server, het IP adres van de laatste zal automatisch worden veranderd om te reageren in plaats van de master server
  • Het volume van de Slavische DB belangrijker zal zijn en de meest recente opgenomen informatie zal bevatten.
  • Door de opdracht op de BDD :

Sluit u aan op de BDD :

   MySQL  -u votre_utilisateur -p uw_wachtwoord 

Vervolgens controleert u de status van de masterserver :

   Toon master status syntaxis \G

Bereiden

Voordat u de opdrachten die volgen uitvoert, plan de bewerking ! Liever een tijdslot of verzoek van databases is een zijn minima. Zorg ervoor dat uw BDD is helemaal niet bewerkt door ook uw site in onderhoud

Er mag absoluut geen schrijven op de reactietijd van de BDD SLAAF !

> In het geval van schrijven tijdens de procedure, zijn hier de gevolgen :

  • Out of sync repliceren
  • Gegevens kan worden verloren of beschadigd

Voorkomen van schrijven

Om te voorkomen dat het schrijven naar een database, het alleen-lezen moet omzetten (Dit is een alleen-lezen ). Die zal het effect van het blokkeren van verzoeken om te schrijven naar de DB hebben.

Op de SLAAF

   FLUSH TABELLEN MET LEES LOCK ; SET GLOBAL read_only = ÉÉN ;

Maken van de dump

Eenmaal de slaaf dit is een alleen-lezen, je kunt dumpen haar tabellen veilig : Op de SLAAF

   MySQL dump --Skip-toevoegen-sloten  --single-transactie  -u votre_utilisateur -p uw_wachtwoord  --all-databases --negeren-tabel =MySQL.user  > /destination/de/depart/mon/backup.sql

Uiteraard vervang /destination/de/mon/backup.sql door uw gebruikelijke bestemming voor de back-up. Door Conventie de datum in de notatie backupDDMMAAAA.sql er om te vinden :)

Verzenden van de dump

Voorzover de SLAAF en meester servers extern, passeer het bestand DUMP van de SLAAF meester. Er zijn verschillende manieren om dit te doen is deze bestandsoverdracht, maar hier zullen we bespreken het gebruik van PC's waarmee kopieën met behulp van de SSH-service te maken.

  • login 1 : Inloggen ssh machine SLAAF
  • login2 : Inloggen ssh machine MASTER
  • Server 1 : IP of hostnaam machine SLAAF
  • Server 2 : IP of hostnaam machine MASTER
  • Pad /Bestand 1 : /destination/de/depart/de/mon/backup.sql
  • Pad /Bestand 2 : /destination/darrivee/de/mon/backup.sql
   SCP Login  1@Server 1:Pad /Bestand 1 Login2@Server 2:Pad /Bestand 2

Importeren van de dump

Vervolgens importeren in de Master database wilt synchroniseren de 2 BDD. Op MASTER

   mysql -u votre_utilisateur -p uw_wachtwoord < /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



U mag niet reageren.