Detectarea, pregăti şi restaura o înclinat replicarea Mysql
he:לזהות, להכין ולשחזר העתק 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
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
Acest articol este rezultatul unei traduceri automate efectuate de către software-ul. Puteți vizualiza sursa articol aici.
Sub Debian 8
Am implementat un sistem de replicare a bazei de date Mysql prin o configurare master /sclav. Atunci când apare o problemă pe serverul master, acest lucru este serverul de sclav (sclav ) Cine preia. Cu toate acestea în primul rând de notat că această scară a apărut.
Detectarea
- În funcţie de nivelul de serviciu, poate fi o monitorizare funcţionării de replicare, sunteţi avertizat de sprijin în caz de comutare.
- În caz de comutare pe maestru să sclav server server, ip acestuia va fi automat schimbat pentru a răspunde în loc de serverul master
- Volumul de DB slave va fi mai important şi va conţine ultimele informaţii înregistrate.
- De comanda pe BDD :
Conectaţi-vă la BDD :
MySQL -u votre_utilisateur -p your_password
Apoi verifica starea de serverul master :
Arată statutul de maestru sintaxa \G
Pregăti
Înainte de a efectua comenzile care urmează, planul de operare ! Prefera un timeslot sau solicitare de baze de date este o lui minime. Asiguraţi-vă că vă BDD este modificat deloc de a pune, de asemenea, site-ul în întreţinere
> În cazul scris în cadrul procedurii, aici sunt consecinţele :
- Reproduc din sincronizare
- Datele pot fi pierdute sau corupte
Preveni scris
Pentru a preveni scris pe o bază de date, aceasta trebuie să implementeze citire (doar-în-citire ). Care va avea ca efect blocarea cererilor de scrie la DB.
Pe sclav
TABELE DE CULOARE CU BLOCAJUL LA CITIRE ; Read_only SET GLOBAL = O SINGURĂ ;
Crea dump
O dată sclavi doar-în-citire, vă poate dump mesele în siguranţă : Pe sclav
MySQL dump --Skip-Adauga-încuietori --singur-transaction -u votre_utilisateur -p your_password --toate bazele de date --tabel ignora =MySQL.user > /destination/de/depart/mon/backup.sql
Înlocuiţi evident /destination/de/mon/backup.sql de obicei destinaţie copie de rezervă. Prin convenţie dată în format backupDDMMAAAA.sql există pentru a găsi :)
Trimiterea dump
În măsura în care serverele sclav şi STĂPÂNUL sunt la distanţă, treci fişier DUMP de sclav la MASTER. Există mai multe modalităţi de a face acest lucru trebuie acest transfer de fişiere, dar aici vom discuta despre utilizarea de PC-uri care vă permite să faceţi copii folosind serviciul SSH.
- Login 1 : Login ssh maşină sclav
- Login 2 : Login ssh masina MASTER
- Server 1 : IP sau Hostname maşină sclav
- Server 2 : Maşină de IP sau Hostname MASTER
- Calea /Fişier 1 : /destination/de/depart/de/mon/backup.sql
- Calea /Fişier 2 : /destination/darrivee/de/mon/backup.sql
SCP Login 1@Server 1:Calea /Fişier 1 Login2@Server 2:Calea /Fişier 2
Memorie de import
Apoi de import în Master baze de date pentru a sincroniza 2 BDD. Coordonator
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
Enable comment auto-refresher