Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Аудит таблиц и сервера / 15 сообщений из 15, страница 1 из 1
23.09.2015, 09:47:16
    #39059102
NewBie77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аудит таблиц и сервера
Доброго времени суток форумчане.
Версия базы : Mysql Community Edition

Имеется таблица с 4 миллионами строк и нужно записать все изменения в этой таблице в базу логов.Написал тригеры для данной таблицы и все отлично работает, интересует есть ли вариант по лучше для данной задачи? И как сделать аудит изменений таблиц,процедур,функций,тригеров ? В ms sql server можно сделать DDL тригером ,но насколько я знаю в mysql их нет.
...
Рейтинг: 0 / 0
23.09.2015, 10:03:01
    #39059117
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аудит таблиц и сервера
1. обычный подход, лучше не надо.
2. делаете полный дамп БЕЗ ДАННЫХ и сравниваете с предыдущим как два текстовых файла... все GUI для этого делают также
...
Рейтинг: 0 / 0
23.09.2015, 10:05:00
    #39059118
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аудит таблиц и сервера
Триггера тоже не панацея, существуют ситуации, когда они не срабатывают. Но при аккуратном использовании сойдет.

А аудит процедур/функций/триггеров - пожалуй, только через дамп и diff-ить версии за разные даты.
Хотя есть подозрение, что это нужно решать административными мерами, а не техническими.
...
Рейтинг: 0 / 0
23.09.2015, 10:09:00
    #39059123
NewBie77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аудит таблиц и сервера
Огромное спасибо за советы
...
Рейтинг: 0 / 0
23.09.2015, 10:13:16
    #39059130
NewBie77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аудит таблиц и сервера
mikisoft, А можно пример ситуации когда тригер не срабатывает ?
...
Рейтинг: 0 / 0
23.09.2015, 10:18:03
    #39059142
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аудит таблиц и сервера
NewBie77mikisoft, А можно пример ситуации когда тригер не срабатывает ?Например, при каскадных update/delete по внешним ключам.
Кажется, был еще один вариант, но сейчас не вспомню.
...
Рейтинг: 0 / 0
23.09.2015, 10:19:50
    #39059146
NewBie77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аудит таблиц и сервера
miksoft,

А есть вариант чтоб записать в лог и эти изменения ?
...
Рейтинг: 0 / 0
23.09.2015, 10:32:47
    #39059161
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аудит таблиц и сервера
NewBie77miksoft,

А есть вариант чтоб записать в лог и эти изменения ?Только по доброй воле того приложения, которое это будет делать.
Или, что чаще бывает, просто запретить каскадные операции.
...
Рейтинг: 0 / 0
23.09.2015, 10:40:58
    #39059174
NewBie77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аудит таблиц и сервера
miksoftNewBie77miksoft,

А есть вариант чтоб записать в лог и эти изменения ?Только по доброй воле того приложения, которое это будет делать.
Или, что чаще бывает, просто запретить каскадные операции.

Огромное спасибо !
...
Рейтинг: 0 / 0
23.09.2015, 10:51:31
    #39059181
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аудит таблиц и сервера
NewBie77,

Хотя есть еще вариант работать через хранимые процедуры, тогда они буду выполнять роль того приложения, которое модифицирует данные и пишет об этом в лог. Процедуры можно создать от имени того пользователя, кому можно писать в таблицы, а у остальных пользователей такое право отнять, чтобы не смогли править таблицы напрямую. Впрочем, при каскадных update/delete такие процедуры тоже не сработают сами по себе. Т.е. каскадные update/delete должны проходить "внутри" таких процедур, а не снаружи, тогда они смогут записать в лог все.
...
Рейтинг: 0 / 0
23.09.2015, 11:12:48
    #39059210
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аудит таблиц и сервера
miksoft,

ну при "правильном" касадировании в принципе, не надо углубляться в дебри "иерархии".
В такое-то время удален такой-то объект. тем то пользователем с того-то ПК, понятно что удалены все соответствующие "объекты"... если уж такой подход используется.
Ведь реально до сих пор используется "пометка на удаление" или признак "отключено" в аккуратных приложениях. А физическое удаление передается административным пользователям...
...
Рейтинг: 0 / 0
23.09.2015, 11:16:46
    #39059218
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аудит таблиц и сервера
Alex_Ustinovну при "правильном" касадировании в принципе, не надо углубляться в дебри "иерархии".
В такое-то время удален такой-то объект. тем то пользователем с того-то ПК, понятно что удалены все соответствующие "объекты"... если уж такой подход используется.Это зависит от задачи. Если нужно контролировать только бизнес-логику, то да, дебри не нужны. А если это попытка написать свою репликацию, то скорее нужны.
...
Рейтинг: 0 / 0
23.09.2015, 11:57:08
    #39059269
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аудит таблиц и сервера
miksoft,

не буду настаивать и тем более спорить, но в моем понимании бизнес-логика включает в себя свою информатион-схему приложения, если она есть то свои форейжны можно и отследить и залогировать. Сумбурно, но в другими словами - бизнес логика как бы подразумевает свой фреймворк, свою прослойку...
тут же вспомнил про GET_LOCK() дабы просто сказать пользователю "нельзя, подожди"... к нему сейчас чаще присматриваюсь, чем к SELECT ... FOR UPDATE, может быть у меня задачи такие...
опять же, я не спорю, просто мне интересно мнение, может тему какую поднять, хотя тоже, наверное, она "вечная"
...
Рейтинг: 0 / 0
23.09.2015, 16:58:38
    #39059640
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аудит таблиц и сервера
NewBie77miksoft,

А есть вариант чтоб записать в лог и эти изменения ?
Вообще-то есть binlog и его можно отдельно парсить и обрабатывать. Как-нибудь. Если осилите.
...
Рейтинг: 0 / 0
23.09.2015, 17:01:06
    #39059643
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аудит таблиц и сервера
netwindNewBie77miksoft,

А есть вариант чтоб записать в лог и эти изменения ?
Вообще-то есть binlog и его можно отдельно парсить и обрабатывать. Как-нибудь. Если осилите.
тут я подразумеваю построчный формат репликации (row based)
ясно, что при процедурном в binlog запишется исходный sql-оператор.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Аудит таблиц и сервера / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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