Erkennen, vorzubereiten und eine schräge Mysql-Replikation wiederherstellen

Aus De Ikoula wiki
Jump to navigation Jump to search

de:Erkennen, vorzubereiten und eine schräge Mysql-Replikation wiederherstellen 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 复制 nl:Detecteren, het voorbereiden en het herstel van een gekantelde Mysql replicatie 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

Dieser Artikel wurde maschinell übersetzt. Sie können den Artikel Quelle hier ansehen.

Unter Debian 8

Sie haben ein System der Replikation Ihrer Mysql-Datenbank durch eine Masterkonfiguration implementiert /Slave. Tritt ein Problem auf dem Masterserver, dies ist der Slaveserver (Slave ) Wer übernimmt. Jedoch sei zunächst darauf hingewiesen, dass dieser Größenordnung aufgetreten ist.

Detektion

  • Je nach Service-Level können Sie möglicherweise eine Überwachung der Funktionsweise der Replikation, Sie werden durch die Unterstützung bei Knebel gewarnt.
  • Bei Umschalten auf dem Master an den Slave-Server-Server die Ip des letzteren wird werden automatisch geändert, um anstelle des Masterservers reagieren
  • Das Volumen der slawischen DB werden wichtiger und enthält die neuesten aufgezeichnete Informationen.
  • Durch Befehl auf BDD :

Verbinden Sie mit BDD :

   MySQL  -u Votre_utilisateur  -p Your_password 

Dann überprüfen Sie den Status des Masterservers :

   zeigen master Status Syntax \G

Vorbereitung

Bevor Sie die Befehle, die Folgen ausführen, die Operation planen ! Lieber ein Zeitfenster oder Aufforderung zur Abgabe von Datenbanken ist eine seiner Minima. Stellen Sie sicher, Ihre BDD wird überhaupt nicht geändert, indem man auch Ihre Website in Wartung

Es darf absolut kein Schreiben auf die Reaktionszeit des BDD SLAVE !

> Im Falle von schreiben während des Verfahrens, hier sind die Konsequenzen :

  • Out of Sync replizieren
  • Daten können verloren gehen oder beschädigt

Schreiben verhindern

Um das Schreiben in eine Datenbank zu verhindern, müssen sie implementieren nur-Lese- (nur-Lese ). Die haben der Wirkung von blockieren von Anforderungen an die DB zu schreiben.

Auf SLAVE

   BÜNDIG TABELLEN MIT LESESPERRE ; Festlegen globaler Read_only  = EIN ;

Erstellen Sie den Dump

Einmal der Sklave nur-Lese Sie können dump seine Tabellen sicher : Auf SLAVE

   Mysqldump  --Skip-hinzufügen-Schlösser  --Single-Transaction  -u Votre_utilisateur  -p Your_password  --alle Datenbanken  --ignorieren-Tisch =MySQL.user  > /destination/de/depart/mon/backup.sql

Natürlich ersetzen /destination/de/mon/backup.sql durch Ihre üblichen backup-Ziel. Standardmäßig das Datum im Format backupDDMMAAAA.sql es um finden :)

Senden den Dump

Soweit die SLAVE und MASTER Server remote sind, übergeben Sie die Datei DUMP der SLAVE zum MASTER. Es gibt mehrere Möglichkeiten, dies zu tun hat dieses File-Transfer, aber hier besprechen wir den Einsatz von PCs, der erlaubt, Kopien mit den SSH-Dienst machen.

  • Login 1 : Login ssh Maschine SLAVE
  • Login 2 : Login ssh Maschine MASTER
  • Server 1 : IP-Adresse oder Hostname Maschine SLAVE
  • Server 2 : IP-Adresse oder Hostname Maschine MASTER
  • Pfad /Datei 1 : /destination/de/depart/de/mon/backup.sql
  • Pfad /Datei 2 : /destination/darrivee/de/mon/backup.sql
   SCP-Login 1@Server 1:Pfad /Datei 1 Login2@Server 2:Pfad /Datei 2

Importieren Sie den Dump

Dann importieren sie in der Master-Datenbank um zu synchronisieren der 2 BDD. Auf MASTER

   MySQL  -u Votre_utilisateur  -p your_password < /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



Du bist nicht berechtigt Kommentare hinzuzufügen.