web-dev-qa-db-fra.com

Esclave_sql_running: Non: la réplication MySQL a cessé de fonctionner

La réplication sur ma base de données esclave (MySQL 5.7.12) a cessé de fonctionner soudainement. Quand je cours SHOW SLAVE STATUS\G Je vois l'erreur suivante:

Last_Errno: 1396
Last_Error: Error 'Operation CREATE USER failed for 'user'@'ip'' on query. Default database: ''. Query: 'CREATE USER 'user'@'ip' IDENTIFIED WITH 'mysql_native_password' AS '*password''

J'avais récemment créé 2 nouveaux utilisateurs en lecture seule sur mon maître et mon esclave, donc je suis certain que c'est à cause de cela.

Je vois aussi cela dans le statut:

Slave_IO_Running: Yes
Slave_SQL_Running: No

Toute suggestion sur la manière de résoudre ce problème?

Merci.

5
tptcat

Tl; dr

STOP SLAVE;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; 
START SLAVE;

Maintenant la version légèrement plus longue:

si vous avez créé manuellement l'utilisateur sur votre esclave d'abord et sur votre deuxième maître, la commande Créer l'utilisateur exécutée sur le maître a été répliquée sur l'esclave. Tentative d'exécution ultérieure de l'instruction a échoué, car l'utilisateur était déjà présent. Donc, mes suggestions pour corriger "ceci":

  • Dites au moteur de réplication de sauter la déclaration et de passer à autre chose
  • Ne plaisante pas avec des esclaves dans une configuration de réplication dans le futur
  • Assurez-vous de lire la - Documentation officielle chaque fois que vous n'avez pas fait avant
10
the-wabbit