Подтвердить что ты не робот

Ошибка репликации MySQL "Вы не можете" ALTER "таблицы журналов, если ведение журнала включено" по запросу

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

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

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

Любые идеи?

Refs: http://bugs.mysql.com/bug.php?id=39133 http://bugs.mysql.com/bug.php?id=43579 http://bugs.mysql.com/bug.php?id=46638

4b9b3361

Ответ 1

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

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

ПОКАЖИТЕ СТАНДАРТНОЕ ПОЛОЖЕНИЕ \G и вы увидите проблему с запросом

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

STOP SLAVE;

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

SET GLOBAL slow_query_log = 'OFF';

Перезапустить ведомый

НАЧАТЬ СЛАВУ;

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

ПОКАЗАТЬ СОБСТВЕННОЕ СОСТОЯНИЕ \G

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

SET GLOBAL slow_query_log = 'ON';

Сообщите мне, помогло ли это.

Ответ 2

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

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

решил мой pb