Такая проблема, мастер передаёт рабу из своего бинлога выполненную с ошибкой SQL команду, которая не приводит к изменению данных, а просто вызывает ошибку (как на стороне мастера так и раба). Но если мастер возвращает ошибку в скрипт и продолжает работать, раб останавливается и ждёт вмешательства админа (пропустить например с помощью установки переменной Skip_Counter в 1). переменная slave-skip-errors=all на стороне раба только не записывает эту ошибку в Last_Error, а сам тред всё равно останавливается.Облазил нет, нашёл даже проект, который принудительно сбрасывает последнюю ошибку, но это же бред. На реальных серверах всё равно время от времени происходят запросы с ошибками, неужели mySQL не предусмотрел репликацию неидеальных случаев!?
Пожелания не посылать БД некорректные запросы просьба оставить себе :) Это могут делать и мои клиенты/разработчики, не только я.
Очень интересует запрос, который приводит к описанной ситуации, с версией мускула желательно.
>Очень интересует запрос, который приводит к описанной ситуации, с версией мускула желательно.
>master: FreeBSD 5.3, mySQL 4.1.8
slaves(2x): winXP, mySQL 5.0.45 и 5.0. ...
запрос с ошибкой, что длина вставляемого значения превышает допустимую длину поля
Очень интересно, надо будет проверить у себя и добавить в арсенал. Решение пока не подскажу, ни разу не видел чтобы warning приводил к остановке репликации, надо потестить.