powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Триггеры при MIXED репликации
11 сообщений из 11, страница 1 из 1
Триггеры при MIXED репликации
    #38787356
mikhalken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, уважаемые форумчане.
Имеется два сервера с репликацией мастер-мастер, типом MIXED. К одному из мастеров был подключен слейв с целью хранить данные, удалённые на мастерах. Изначально пробовал решить задачу добавлением на слейв триггера, который вызывал ошибку и не давал удалить. Однако не учёл, что репликация иногда переводится сервером в режим ROW, и соответственно, триггер не срабатывает. В итоге, сохраняется примерно 1 запись из двух.
Кто может подсказать, какие возможны варианты в данной ситуации? Как мне сохранить данные на слейве?
...
Рейтинг: 0 / 0
Триггеры при MIXED репликации
    #38788995
mikhalken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ээээх, неужели ни у кого никаких идей?
...
Рейтинг: 0 / 0
Триггеры при MIXED репликации
    #38790606
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторОднако не учёл, что репликация иногда переводится сервером в режим ROW, и соответственно, триггер не срабатывает. В итоге, сохраняется примерно 1 запись из двух
но ведь задумка в mysql была в том, что когда "выключаются" тригерры, зависимые изменения во всех других таблицах от мастера все равно прикатят, но уже в row-формате. По проекту должно работать.
Почему же у вас сохраняется одна запись ? чем еще осложнена ваша конфигурация ? упростите ее.
...
Рейтинг: 0 / 0
Триггеры при MIXED репликации
    #38790614
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
документация по этому вопросу категорична - переключитесь на statement based навсегда.
авторIf you want triggers to execute on both the master and the slave—perhaps because you have different triggers on the master and slave—you must use statement-based replication.

ну или помучайтесь с педальным переключением в сессии :
авторHowever, to enable slave-side triggers, it is not necessary to use statement-based replication exclusively. It is sufficient to switch to statement-based replication only for those statements where you want this effect, and to use row-based replication the rest of the time.
тут имеется ввиду что в приложении вы делаете SET SESSION binlog_format = 'STATEMENT'; ну а по прошествии критического участка потом обратно MIXED.
...
Рейтинг: 0 / 0
Триггеры при MIXED репликации
    #38790624
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторИзначально пробовал решить задачу добавлением на слейв триггера, который вызывал ошибку и не давал удалить
а. дошло теперь. оригинальное решение. и оригинальная же проблема .

я предлагаю переделать удаление. вы можете выключать binlog в конкретной удаляющей сессии на мастерах, запускать оператор удаления. если это отдельная программа делает, так и включать обратно не надо даже. это сессионная переменная не сохранится глобально.
...
Рейтинг: 0 / 0
Триггеры при MIXED репликации
    #38791064
mikhalken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwind, про SET SESSION binlog_format мысль интересная, но, к сожалению, не прокатило. Слейв реплицируется с одного из мастеров (например А). Итого, при репликации с мастера В, бинлог передаётся на А в нужном формате, но там переводится уже в другой формат. А формат логов Мастера А я не могу контролировать, к сожалению, с мастера В.
...
Рейтинг: 0 / 0
Триггеры при MIXED репликации
    #38791114
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikhalken, согласно моей последней версии этого вообще делать не нужно.
у вас репликация с игнорированием ошибок что-ли настроена ? так это в любом случае нехорошо.
...
Рейтинг: 0 / 0
Триггеры при MIXED репликации
    #38791223
mikhalken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwind,

Пропуск ошибки у меня только одной, которая 100% не выскачет в другом случае, так что нормально. А вот выключать бинлог не получится - во-первых, это делает не программа, а евент либо вручную, а, во-вторых, кроме двух мастеров и слейва, про которые я написал, есть ещё 2 слейва. Итого операцию придётся выполнять 4 раза.
...
Рейтинг: 0 / 0
Триггеры при MIXED репликации
    #38791229
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikhalken, ну перестанет делать евент.
все равно изначально задумка с event тупая и расчитана на виндовых DBA.
...
Рейтинг: 0 / 0
Триггеры при MIXED репликации
    #38791591
mikhalken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwind,

Других вариантов особо нет, ибо серверов реально много.
...
Рейтинг: 0 / 0
Триггеры при MIXED репликации
    #38791825
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikhalken, я думаю, set session даже в event должен работать нормально. Хотя точно сказать не могу, потому что считаю механизм event избыточным и ненужным. Проверяйте.

И нам все равно сколько чего там у вас. Хоть увольняйтесь из-за неумения найти компромисс. Это форум, а не психологическая поддержка
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Триггеры при MIXED репликации
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]