SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 02.03.2012 12:42:13

shutdown
Завсегдатай
Зарегистрирован: 29.05.2008
Сообщений: 46

репликация: основы, "простая" проблема.

Добрый день.
Как водится, простейший путь настроить репликацию на слейве - указать нужные БД в опциях  replicate-do-db. Так многие делают и все работает. Допустим к тому же, что никаких опций уровня *-table  на слейве нет.
Однако, читая документацию здесь http://dev.mysql.com/doc/refman/5.5/en/ … tions.html
и здесь http://dev.mysql.com/doc/refman/5.5/en/ … tions.html
можно сделать противоречивые выводы, а именно:
С одной стороны, говорится, что replicate-do-db по алгоритму фильтрации аналогична binlog-do-db. Однако приведенные детальные алгоритмы показывают, что binlog-do-db  проигнорирует несовпадающую  БД. Для replicate-do-db  же мы идем дальше, на алгоритм разрешения опций уровня таблиц (*-table).
И дальше мы имеем интересную вещь: блок-схема и пояснение говорят нам, что если нет никаких опций уровня таблиц, то запрос будет выполнен! Это уже противоречит утверждению про похожесть на binlog-do-db.
Однако,  на практике (mysql 5.5, мастер: binlog-format=mixed) все действительно похоже на  binlog-do-db и НЕ похоже на описанный в доках  алгоритм, а именно: при отсутствии опций  *-table и несовпадении дефолтной БД ни с одной из БД  списка replicate-do-db,  запрос (например, на вставку записи) не выполняется на слейве!
Объясните мне непонятливому, почему так?

Отредактированно shutdown (05.03.2012 11:29:01)

Неактивен

 

#2 04.03.2012 11:55:32

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: репликация: основы, "простая" проблема.

Здравствуйте.

Если честно, не понял, что Вас смущает. Всё работает строго по документации.
Если включена binlog-do-db, то в двоичный журнал на мастере попадают только
те запросы, которые были выполнены с базой по умолчанию среди выбранных.
Если включена replicate-do-db, то из приехавшего двоичного журнала будут вы-
полнены только те запросы, в которых база по умолчанию была среди выбранных.

Неактивен

 

#3 04.03.2012 13:56:33

shutdown
Завсегдатай
Зарегистрирован: 29.05.2008
Сообщений: 46

Re: репликация: основы, "простая" проблема.

Первое, что смущает, поведение слейва.
Смотрим http://dev.mysql.com/doc/refman/5.5/en/ … ions.html, словесное описание блок-схемы внизу.
При наших условиях (есть опции replicate-do-db, но ни одна из них не подходит под дефолтовую базу, и нет опций replicate-ignore-db) мы попадаем на шаг 3 - проверка  *-table опций.
Хорошо, смотрим сюда: http://dev.mysql.com/doc/refman/5.5/en/ … ions.html.
Можно не смотреть блок-схему, достаточно прочитать: "Having reached this point, if there are no table options, the slave simply executes all events." (блок-схема вполне с этим согласуется). Это в точности, что в моих настройках - опций *-table у меня нет. Следовательно, как написано в вышеприведенном фрагменте документации, запрос должен быть выполнен. Но он не выполняется!
У меня впечатление,  что я стучусь в стену рядом с дверью, но покажите мне эту дверь :))

Неактивен

 

#4 04.03.2012 23:51:21

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: репликация: основы, "простая" проблема.

Блоксхема неправильная, разбили плохо в документации. Если запрос не попадает
под хотя бы одну опцию --replicate-do (при наличии хотя бы одной), то он не выпол-
няется.

Неактивен

 

#5 05.03.2012 11:28:43

shutdown
Завсегдатай
Зарегистрирован: 29.05.2008
Сообщений: 46

Re: репликация: основы, "простая" проблема.

Хорошо, уже какая-то ясность. А можно надеяться, что документация будет приведена в соответствие с действующей логикой?

PS вторую часть вопроса из заглавного поста удаляю, там все верно на самом деле.

Неактивен

 

#6 05.03.2012 13:52:52

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: репликация: основы, "простая" проблема.

Оформите ошибку на bugs.mysql.com? smile

Неактивен

 

#7 06.03.2012 14:41:23

shutdown
Завсегдатай
Зарегистрирован: 29.05.2008
Сообщений: 46

Re: репликация: основы, "простая" проблема.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson