Mysql Mysql логирование определенных таблиц

  • Автор темы Автор темы tsiger
  • Дата начала Дата начала

tsiger

Новичок
Доброго время суток. Стала задача вести лог операций insert, update, delete , но не всей БД а определенных таблиц, а точнее всех без одной.
На данный момент веду бинарный лог, а потом с помощью mysqlbinlog перевожу в SQL формат, но вот проблема НЕ ЗНАЮ КАК ОТСЕЯТЬ ЛОГ НЕ НУЖНОЙ МНЕ ТАБЛИЦЫ.
 
может лучше отсеять таблицу когда лог читаешь?
 
стандартными опциями mysqlbinlog нельзя отсеять запросы относящиеся к определенной таблице, вам придется писать свой скрипт который будет парсить вывод и отфильтровывать команды.

Если речь идет только о стандартных средствах MySQL, то вы можете поместить эту таблицу в отдельную базу и использовать binlog-ignore-db=db1 опцию. Только учитите что эта команда отфильтровывает только выражения когда текущая база данных db1.
Например:

use db1;
insert into db2.t1 ...

^^^ INSERT не будет записан в binlog

use db2;
insert into db1.t1 ..

^^^ INSERT будет записан в binlog
 
Апельсин спасибо, но думаю что использовать другую БД не выход. Скажите может есть другие пути решения задачи пусть даже не стандартными средствами MySQL?
 
Мне в голову приходит только частичная репликация на blackhole engine
 
Сверху