Rilevare, preparare e ripristinare una replica di Mysql inclinata

Da It Ikoula wiki.
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

it:Rilevare, preparare e ripristinare una replica di Mysql inclinata 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 nl:Detecteren, het voorbereiden en het herstel van een gekantelde Mysql replicatie 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

Il presente articolo è stato tradotto tramite un software di traduzione automatica. È possibile visualizzare l'origine articolo qui.

Sotto Debian 8

È stato implementato un sistema di replica del database Mysql attraverso una configurazione master /schiavo. Quando si verifica un problema sul server master, questo è il server schiavo (slave) chi prende il sopravvento. Tuttavia si deve innanzitutto precisare che si è verificato questa scala.

Rilevamento

  • A seconda del livello di servizio, si può essere un controllo del funzionamento della replica, si viene avvisati dal supporto in caso di attiva/disattiva.
  • In caso di commutazione sul master al server server slave, l'ip di quest'ultimo verrà automaticamente modificato per rispondere invece il server master
  • Il volume del DB slava sarà più importante e contiene le ultime informazioni registrate.
  • Di comando su BDD :

Collegarsi a BDD :

   MySQL  -u votre_utilisateur -p your_password 

Quindi verificare lo stato del server master :

   Visualizza la sintassi master status \G

Preparare

Prima di eseguire i comandi che seguono, pianificare l'operazione ! Preferisco un timeslot o sollecitazione dei database è un suo minimi. Assicurati il tuo BDD è non è affatto modificato inserendo anche il tuo sito in manutenzione

Assolutamente non ci deve essere scritta sul tempo di risposta di BDD SLAVE !

> Nel caso di scrittura durante la procedura, qui sono le conseguenze :

  • Replica fuori sincronia
  • I dati possono essere persi o danneggiati

Impedire la scrittura

Per evitare la scrittura di un database, è necessario implementare la proprietà di sola lettura (sola lettura ). Che avrà l'effetto di bloccare le richieste di scrivere al DB.

Slave

   TAVOLI A FILO CUNA  BLOCCO DI LETTURA ; SET GLOBAL read_only = ON;

Creare il dump

Una volta, lo schiavo in sola lettura, è possibile scaricare le tabelle in modo sicuro : Slave

   MySQL dump --Skip-aggiungere-serrature  --singolo-transazione  -u votre_utilisateur -p your_password  --tutti i database  --ignorare-tabella =MySQL. User  > /destination/de/depart/mon/backup.sql

Sostituire ovviamente /destination/de/mon/backup.sql di destinazione di backup usuale. Per convenzione la data nel formato backupDDMMAAAA.sql ci al fine di trovare :)

Invio il dump

Nella misura in cui i server MASTER e SLAVE sono remoti, si passa il file DUMP di SLAVE a MASTER. Ci sono diversi modi per farlo è questo trasferimento di file, ma qui si discuterà l'uso dei PC che permette di fare copie utilizzando il servizio SSH.

  • Login 1 : Login ssh macchina SLAVE
  • login2 : login ssh macchina MASTER
  • Server di 1 : IP o Hostname macchina SLAVE
  • Server di 2 : IP o Hostname macchina MASTER
  • Percorso /File 1 : /destination/de/depart/de/mon/backup.sql
  • Percorso /File 2 : /destination/darrivee/de/mon/backup.sql
   SCP Login 1@Server di 1:Percorso /File 1 Login2@Server di 2:Percorso /File 2

Importare il dump

Quindi importare nel Master database al fine di sincronizzare il 2 BDD. Il 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



Non si dispone dei permessi necessari per inviare commenti.