|
|
|
Аудит таблиц и сервера
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток форумчане. Версия базы : Mysql Community Edition Имеется таблица с 4 миллионами строк и нужно записать все изменения в этой таблице в базу логов.Написал тригеры для данной таблицы и все отлично работает, интересует есть ли вариант по лучше для данной задачи? И как сделать аудит изменений таблиц,процедур,функций,тригеров ? В ms sql server можно сделать DDL тригером ,но насколько я знаю в mysql их нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2015, 09:47:16 |
|
||
|
Аудит таблиц и сервера
|
|||
|---|---|---|---|
|
#18+
1. обычный подход, лучше не надо. 2. делаете полный дамп БЕЗ ДАННЫХ и сравниваете с предыдущим как два текстовых файла... все GUI для этого делают также ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2015, 10:03:01 |
|
||
|
Аудит таблиц и сервера
|
|||
|---|---|---|---|
|
#18+
Триггера тоже не панацея, существуют ситуации, когда они не срабатывают. Но при аккуратном использовании сойдет. А аудит процедур/функций/триггеров - пожалуй, только через дамп и diff-ить версии за разные даты. Хотя есть подозрение, что это нужно решать административными мерами, а не техническими. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2015, 10:05:00 |
|
||
|
Аудит таблиц и сервера
|
|||
|---|---|---|---|
|
#18+
Огромное спасибо за советы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2015, 10:09:00 |
|
||
|
Аудит таблиц и сервера
|
|||
|---|---|---|---|
|
#18+
mikisoft, А можно пример ситуации когда тригер не срабатывает ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2015, 10:13:16 |
|
||
|
Аудит таблиц и сервера
|
|||
|---|---|---|---|
|
#18+
NewBie77mikisoft, А можно пример ситуации когда тригер не срабатывает ?Например, при каскадных update/delete по внешним ключам. Кажется, был еще один вариант, но сейчас не вспомню. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2015, 10:18:03 |
|
||
|
Аудит таблиц и сервера
|
|||
|---|---|---|---|
|
#18+
miksoft, А есть вариант чтоб записать в лог и эти изменения ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2015, 10:19:50 |
|
||
|
Аудит таблиц и сервера
|
|||
|---|---|---|---|
|
#18+
NewBie77miksoft, А есть вариант чтоб записать в лог и эти изменения ?Только по доброй воле того приложения, которое это будет делать. Или, что чаще бывает, просто запретить каскадные операции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2015, 10:32:47 |
|
||
|
Аудит таблиц и сервера
|
|||
|---|---|---|---|
|
#18+
miksoftNewBie77miksoft, А есть вариант чтоб записать в лог и эти изменения ?Только по доброй воле того приложения, которое это будет делать. Или, что чаще бывает, просто запретить каскадные операции. Огромное спасибо ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2015, 10:40:58 |
|
||
|
Аудит таблиц и сервера
|
|||
|---|---|---|---|
|
#18+
NewBie77, Хотя есть еще вариант работать через хранимые процедуры, тогда они буду выполнять роль того приложения, которое модифицирует данные и пишет об этом в лог. Процедуры можно создать от имени того пользователя, кому можно писать в таблицы, а у остальных пользователей такое право отнять, чтобы не смогли править таблицы напрямую. Впрочем, при каскадных update/delete такие процедуры тоже не сработают сами по себе. Т.е. каскадные update/delete должны проходить "внутри" таких процедур, а не снаружи, тогда они смогут записать в лог все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2015, 10:51:31 |
|
||
|
Аудит таблиц и сервера
|
|||
|---|---|---|---|
|
#18+
miksoft, ну при "правильном" касадировании в принципе, не надо углубляться в дебри "иерархии". В такое-то время удален такой-то объект. тем то пользователем с того-то ПК, понятно что удалены все соответствующие "объекты"... если уж такой подход используется. Ведь реально до сих пор используется "пометка на удаление" или признак "отключено" в аккуратных приложениях. А физическое удаление передается административным пользователям... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2015, 11:12:48 |
|
||
|
Аудит таблиц и сервера
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinovну при "правильном" касадировании в принципе, не надо углубляться в дебри "иерархии". В такое-то время удален такой-то объект. тем то пользователем с того-то ПК, понятно что удалены все соответствующие "объекты"... если уж такой подход используется.Это зависит от задачи. Если нужно контролировать только бизнес-логику, то да, дебри не нужны. А если это попытка написать свою репликацию, то скорее нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2015, 11:16:46 |
|
||
|
Аудит таблиц и сервера
|
|||
|---|---|---|---|
|
#18+
miksoft, не буду настаивать и тем более спорить, но в моем понимании бизнес-логика включает в себя свою информатион-схему приложения, если она есть то свои форейжны можно и отследить и залогировать. Сумбурно, но в другими словами - бизнес логика как бы подразумевает свой фреймворк, свою прослойку... тут же вспомнил про GET_LOCK() дабы просто сказать пользователю "нельзя, подожди"... к нему сейчас чаще присматриваюсь, чем к SELECT ... FOR UPDATE, может быть у меня задачи такие... опять же, я не спорю, просто мне интересно мнение, может тему какую поднять, хотя тоже, наверное, она "вечная" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2015, 11:57:08 |
|
||
|
Аудит таблиц и сервера
|
|||
|---|---|---|---|
|
#18+
NewBie77miksoft, А есть вариант чтоб записать в лог и эти изменения ? Вообще-то есть binlog и его можно отдельно парсить и обрабатывать. Как-нибудь. Если осилите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2015, 16:58:38 |
|
||
|
Аудит таблиц и сервера
|
|||
|---|---|---|---|
|
#18+
netwindNewBie77miksoft, А есть вариант чтоб записать в лог и эти изменения ? Вообще-то есть binlog и его можно отдельно парсить и обрабатывать. Как-нибудь. Если осилите. тут я подразумеваю построчный формат репликации (row based) ясно, что при процедурном в binlog запишется исходный sql-оператор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2015, 17:01:06 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39059117&tid=1832694]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 359ms |

| 0 / 0 |
