LINUX.ORG.RU

Дамп выполняется посредством обычных SQL запросов. Запроса «дамп» не существует.

goingUp ★★★★★ ()
Ответ на: комментарий от goingUp

Пока пишут про признаки дампа в show processlist, не очень убедительно.

chegeware ()

Опиши всю задачу. В 90% случаяев когда просят что-то странное оказывается что гланды удаляют длинным путём.

true_admin ★★★★★ ()

С какой целью узнать? Спалить злоумышленника, сливающего данные, или найти хрен-знает-как-работающий скрипт?

frozen_twilight ★★ ()



Только средствами самого мускуля



Почему такое жёсткое ограничение?
Что изначально сделать хочешь?

blackst0ne ★★★★★ ()
Ответ на: комментарий от frozen_twilight

спалюсь сам

:) честно признаюсь, я злоумышленник, хочу узнать когда дампят базу. Не бейте.

chegeware ()

В постгресе легко сделать rule на select какой-нибудь «левой» таблицы, а вот мускуль как-то «защищеннее»

chegeware ()

Off-topic.

Средствами мускуля не скажу, но если известно, с помощью какой утилиты делается дамп, то можно так:

inotifywatch `which mysqldump` и смотреть, когда его трогали.

Только надо учитывать, что файлы трогают также всякие бекап-тулзы, updatedb(locate) и т. п.

Ну и очевидный вариант - подменить mysqldump на shell-скрипт, пишуший в лог своё время и вызывающий настоящий mysqldump.

selivan ★★★ ()
Ответ на: комментарий от chegeware

Эммм.. ну тогда ещё одно извращённое внешнее решение:

tcpdump -i any 'tcp dst port XXX and ( tcp[tcpflags] & (tcp-syn) != 0 )'

Получим время и IP для всех входящих соединений. Вдруг найдётся что-то явно нездоровое. Если база активно юзается по сети - не прокатит

Если команда создания дампа известна, то есть это не просто куча select * ..., и протокол нешифрованный, можно собрать весь траффик и поискать в нём соотв. шаблон:

tcpdump -A -i any 'tcp dst port XXX' | grep 'dump'

selivan ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.