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

tsiger

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

WMix

герр M:)ller
Партнер клуба
может лучше отсеять таблицу когда лог читаешь?
 

Апельсин

Оранжевое создание
стандартными опциями mysqlbinlog нельзя отсеять запросы относящиеся к определенной таблице, вам придется писать свой скрипт который будет парсить вывод и отфильтровывать команды.

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

use db1;
insert into db2.t1 ...

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

use db2;
insert into db1.t1 ..

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

tsiger

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

fixxxer

К.О.
Партнер клуба
Мне в голову приходит только частичная репликация на blackhole engine
 
Сверху