MySQL Replication: предотвращение репликации вставок таблицы главным сервером - PullRequest
1 голос
/ 24 марта 2009

У меня есть таблица регистрации на главном сервере, которая вставляется в очень часто. Мне не нужно, чтобы эта таблица реплицировалась на подчиненные серверы, и на самом деле у меня уже есть таблица репликации игнорирования на ведомых, чтобы игнорировать ее.

Однако это происходит только после того, как все эти вставки извлечены из мастера. Я бы хотел, чтобы эти вставки не отправлялись рабам полностью по двум причинам:

  1. Сокращение сетевого трафика между серверами
  2. У меня были случаи повреждения записей журнала ретрансляции (и необходимости пропуска поврежденных записей). Учитывая количество вставок в таблицу регистрации, оно всегда находится на тех вставках (которые в любом случае не нужны).

Можно ли как-то запретить мастеру отправлять журналы для определенной таблицы? Или предотвратить вставку в файлы бинарного журнала мастера? Мне известно только о игнорировании баз данных в файлах бинарного журнала мастера.

Спасибо.

1 Ответ

3 голосов
/ 24 марта 2009

В вашем коде отправьте «SET SESSION sql_log_bin = 0» в MySQL перед вставкой строки журнала. Затем установите обратно на 1.

Этот подход дает вам детальный контроль над тем, когда и когда не вести двоичный журнал. Единственным возможным недостатком является то, что пользователю базы данных потребуется привилегия SUPER.

...