Ошибка репликации MySQL «Вы не можете« изменить »таблицу журнала, если ведение журнала включено» по запросу - PullRequest
22 голосов
/ 09 февраля 2012

Репликация MySQL была прервана с последней ошибкой

Last_Errno: 1580 Last_Error: Ошибка «Вы не можете« изменить »таблицу журнала, если ведение журнала включено» по запросу.База данных по умолчанию: 'mysql'.

Кажется, это ошибка запуска mysql_upgrade для версии 5.1.61. Я нашел несколько сообщений об ошибках, но не нашел способа исправить ситуацию после обновления.уже выполнено на мастере.

Есть идеи?

Ссылка: http://bugs.mysql.com/bug.php?id=39133 http://bugs.mysql.com/bug.php?id=43579 http://bugs.mysql.com/bug.php?id=46638

Ответы [ 2 ]

39 голосов
/ 09 февраля 2012

Кажется, я отвечу на свой вопрос. Попытка изменить таблицу журналов при входе в систему приводит к ошибке. Я действительно не понимаю, как МАСТЕР мог выполнить этот запрос, поскольку он имеет ту же запись в журнале, и если он это сделал, то почему SLAVE не может сделать то же самое? Я буду рад прочитать объяснения, но сейчас давайте сосредоточимся на решении.

Чтобы увидеть ошибку, которая прервала репликацию, выполните

ПОКАЗАТЬ СТАТУС РАБЫ \ G и вы увидите проблемный запрос

Теперь вы можете остановить раба

ОСТАНОВИТЬ РАБА;

Отключите соответствующие журналы (не копируйте + вставьте это, но сначала проверьте свою собственную конфигурацию!):

SET GLOBAL slow_query_log = 'OFF';

Перезапустить раб

НАЧАТЬ РАБА;

См. Ошибки не отображаются на

ПОКАЗАТЬ СТАТУС РАБЫ \ G

и снова включите соответствующие журналы:

SET GLOBAL slow_query_log = 'ON';

Дайте мне знать, помогло ли это.

23 голосов
/ 09 марта 2012

У меня репликация мастер-мастер, поэтому я не могу остановить двоичные журналы на ведомом устройстве, но

STOP SLAVE;
SET GLOBAL slow_query_log = "OFF";
START SLAVE;
SET GLOBAL slow_query_log = "ON";

решил мой пб

...