Contourner une erreur de réplication Mariadb / MySQL

Il arrive parfois que la réplication d’une base de données MariaDB / MySQL se bloque.
Il s’agit principalement de problème d’insertion ou de suppression d’informations qui sont impossible pour des raisons de « DUPLICATE ENTRY » ou similaire.
Ça se produit en générale lorsque l’on fait des opérations sur le replica, et que de fait, il n’est plus une copie conforme de son maître.

Pour réactiver la réplication il faut :

  • se connecter au replica
  • vérifier l’état de la réplication, pour savoir qu’elle requête pose un problème
  • arrêter la réplication
  • activer la variable globale qui indique que l’on souhaite sauter une erreur de réplication
  • lancer la réplication
  • vérifier l’état de la réplication.

Ce qui se traduit en :

STOP SLAVE;
SET GLOBAL sql_slave_skip_counter =1;
START SLAVE;
SELECT SLEEP(2);
SHOW SLAVE STATUS \G

Il sera probablement nécessaire de lancer plusieurs fois ces commandes pour retrouver une réplication fonctionnelle.