MySQL репликации несовместимые заявления проблема - PullRequest
1 голос
/ 13 августа 2010

Я хотел установить новую подчиненную базу данных mysql, работающую с более новой версией mysql => 5.1.41, чем master => 5.0.75, которая, насколько я знаю, обычно не должна быть проблемой однако, как оказалось, настройка репликации не удалась, потому что я использовал оператор SQL в 5.0.75, который явно не работает в 5.1.41:

утверждение, которое вызывает проблему выглядит следующим образом:

DELETE FROM tab1 t1
USING       tab1 t1, tab2 t2
WHERE       t2.field1 = ...
AND         t2.field2 = ...
AND         t1.field1 = t2.field2;

это утверждение отлично работает на 5.0.75, на 5.1.41 я получаю следующее сообщение об ошибке в статусе моего ведомого:

...
Last_SQL_Errno: 1064
Last_SQL_Error: Error 'You have an error in your SQL syntax; check the manual that      
                corresponds to your MySQL server version for the right syntax to 
                use near 't1
                USING       tab1 t1, tab2 t2
                ...
...

есть идеи, что происходит и что делать?

спасибо!

UPDATE

хорошо, я решил эту проблему, скомпилировав 5.0.75 на ведомом устройстве сам ... однако мне все равно было бы интересно, что происходит и как решать такие проблемы. спасибо.

1 Ответ

0 голосов
/ 16 февраля 2011

Для таких ошибок (которые не важны) вы можете отфильтровать в файле my.ini.

# skip replication errors
slave-skip-errors=1062,1136,1146

Или, в качестве альтернативы, измените нарушающий код, чтобы он был удобен для версии.

...