Назад | Перейти на главную страницу

Slave_SQL_Running: Нет: репликация MySQL перестала работать

Репликация в моей подчиненной базе данных (MySQL 5.7.12) внезапно перестала работать. Когда я бегу SHOW SLAVE STATUS\G Я вижу следующую ошибку:

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''

Недавно я создал 2 новых пользователя только для чтения на моем главном и подчиненном устройстве, поэтому я уверен, что это из-за этого.

Я тоже это вижу в статусе:

Slave_IO_Running: Yes
Slave_SQL_Running: No

Есть предложения, как это исправить?

Спасибо.

TL; DR

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

Теперь немного более длинная версия:

если вы вручную создали пользователя на своем ведомом устройстве, а затем - на главном устройстве, команда CREATE USER, выполненная на ведущем устройстве, будет реплицирована на ведомое устройство. Попытка последующего выполнения инструкции не удалась, поскольку пользователь уже присутствовал. Итак, мои предложения по исправлению "этого":

  • Скажите механизму репликации пропустить оператор и двигаться дальше
  • Не связывайтесь с ведомыми устройствами в репликации в будущем.
  • Обязательно прочтите официальная документация когда делаешь то, чего не делал раньше