« DBMS/MySQL/ResetSlave » : différence entre les versions

De TartareFR
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Ligne 1 : Ligne 1 :
== Arrêt et reset de la réplication ==
== Arrêt et reset de la réplication ==
 
<noinclude>
=== Arrêt de la réplication ===
=== Arrêt de la réplication ===
<syntaxhighlight lang="sql">
<syntaxhighlight lang="sql">
Ligne 25 : Ligne 25 :


=== Import des dumps ===
=== Import des dumps ===
<syntaxhighlight lang="bash">for base in BASE_B2PWEB_VITRINE BASE_BDF BASE_DEBUG BASE_STATISTIQUES BASE_TRAITEMENT CITIES session
<syntaxhighlight lang="bash">
for base in BASE_B2PWEB_VITRINE BASE_BDF BASE_DEBUG BASE_STATISTIQUES BASE_TRAITEMENT CITIES \
session
do
do
   echo $base
   echo $base
Ligne 36 : Ligne 38 :
=== Recalage de la réplication ===
=== Recalage de la réplication ===
<syntaxhighlight lang="sql">
<syntaxhighlight lang="sql">
CHANGE MASTER TO MASTER_HOST='IP_DU_MAITRE', MASTER_USER='myslave', MASTER_PASSWORD='bre2005bis', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=106;
CHANGE MASTER TO MASTER_HOST='IP_DU_MAITRE', MASTER_USER='myslave', MASTER_PASSWORD='bre2005bis',  
MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=106;
</syntaxhighlight>
</syntaxhighlight>


Ligne 48 : Ligne 51 :
SHOW SLAVE STATUS \G
SHOW SLAVE STATUS \G
</syntaxhighlight>
</syntaxhighlight>
{{Admon/important|Skip des ''duplicate entries''|Si le dump a été pris à chaud, il peut y avoir des ''duplicate entries''
</noinclude>
Il est alors nécessaire de lancer le deamon mk-slave-restart afin de les skipper automatiquement.
<includeonly>
Le daemon peut s'appeler pt-slave-restart si le repo percona est en place}}
* Arrêt de la réplication<syntaxhighlight lang="sql">STOP SLAVE;</syntaxhighlight>
* Reset de l'esclave<syntaxhighlight lang="sql">RESET SLAVE;</syntaxhighlight>
* Suppression de la base<syntaxhighlight lang="sql">DROP DATABASE</syntaxhighlight>
* Création de la base<syntaxhighlight lang="sql">CREATE DATABASE</syntaxhighlight>
* Import des dumps<syntaxhighlight lang="bash">mysql <base> < /tmp/<base>.sql</syntaxhighlight>
* Recalage de la réplication<syntaxhighlight lang="sql">CHANGE MASTER TO MASTER_HOST='<master host>',MASTER_USER='<user>',MASTER_PASSWORD='***',</syntaxhighlight><syntaxhighlight lang="sql">MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=106;</syntaxhighlight>
* Redémarrage de la réplication<syntaxhighlight lang="sql">START SLAVE;</syntaxhighlight>
* Et on vérifie la réplication<syntaxhighlight lang="sql">SHOW SLAVE STATUS \G</syntaxhighlight>
</includeonly>
{{Admon/important|Skip ''duplicate entries''|Si le dump a été pris à chaud, il peut y avoir des ''duplicate entries''. Il est alors nécessaire de lancer le deamon <app>mk-slave-restart</app> afin de ne pas les intégrer automatiquement.<br>Le daemon peut s'appeler <app>pt-slave-restart</app> si le dépôt '''percona''' est en place}}

Version du 10 avril 2014 à 10:04

Arrêt et reset de la réplication

Arrêt de la réplication

STOP SLAVE;
Query OK, 0 rows affected, 1 warning (0.00 sec)

Reset de l'esclave

RESET SLAVE;
Query OK, 0 rows affected (0.01 sec)

Import des dumps

Suppression et création des bases

for base in BASE_B2PWEB_VITRINE BASE_BDF BASE_DEBUG BASE_STATISTIQUES BASE_TRAITEMENT CITIES session
do
  echo $base
  mysql -e "DROP DATABASE $base"
done

Import des dumps

for base in BASE_B2PWEB_VITRINE BASE_BDF BASE_DEBUG BASE_STATISTIQUES BASE_TRAITEMENT CITIES \
session
do
  echo $base
  mysql $base < /tmp/$base.sql
done

Remise en fonction de la réplication

Recalage de la réplication

CHANGE MASTER TO MASTER_HOST='IP_DU_MAITRE', MASTER_USER='myslave', MASTER_PASSWORD='bre2005bis', 
MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=106;

Redémarrage de la réplication

START SLAVE;

Et on vérifie la réplication

SHOW SLAVE STATUS \G


Important.png
Skip duplicate entries
Si le dump a été pris à chaud, il peut y avoir des duplicate entries. Il est alors nécessaire de lancer le deamon <app>mk-slave-restart</app> afin de ne pas les intégrer automatiquement.
Le daemon peut s'appeler <app>pt-slave-restart</app> si le dépôt percona est en place