Я бы посмотрел на эти варианты:
A) Напишите плагин аудита, который фильтрует события на основе имени пользователя.
Для простоты имя пользователя может быть жестко запрограммировано в самом плагине,
или, для элегантности, его можно настроить с помощью переменной плагина, если эта проблема возникнет снова.
См
http://dev.mysql.com/doc/refman/5.5/en/writing-audit-plugins.html
B) Изучите параметр сервера --init-connect.
Например, вызвать хранимую процедуру, проверить значение user () / current_user (),
и записать трассировку в журнал (вставить в таблицу), если было установлено соединение с пользователем.
См
http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_init_connect
Это, вероятно, самая близкая вещь к триггеру соединения.
C) Использовать инструментарий схемы производительности.
Это предполагает 5,6.
Используйте таблицу performance_schema.setup_instrument, чтобы включить только инструментарий инструкций.
Используйте таблицу performance_schema.setup_actors только для сеансов инструментов для этого пользователя.
Затем, после некоторого времени работы системы, посмотрите на активность для этого пользователя в следующих таблицах:
- таблица performance_schema.users скажет, была ли вообще какая-то активность
- таблица performance_schema.events_statements_history_long покажет последние выполненные запросы
- таблица performance_schema.events_statements_summary_by_user покажет агрегированную статистику по каждому типу операторов (SELECT, INSERT, ...), выполненных этим пользователем.
Предполагая, что у вас есть пользователь, определенный как 'old_app' @ '%', вероятным последующим вопросом будет выяснение, откуда (с какого хоста (ов)) все еще подключается это старое приложение.
performance_schema.accounts будет просто показывать, что: если трафик для этого пользователя виден, он будет отображать каждое имя пользователя @ hostname источник трафика.
Статистика также агрегирована по аккаунту, ищите таблицы "% _by_account%".
См
http://dev.mysql.com/doc/refman/5.6/en/performance-schema.html