Как узнать кто подключался к СУБД MYSQL?

Если решите как-то реализовать написанное, то все действия вы производите на свой страх и риск!

Иногда бывает нужно выявить, кто подключениями грузит СУБД.
Есть несколько вариантов (не считая Enterprise возможностей):
1. Посмотреть в данный момент что происходит, зайдя в управление:

SHOW FULL PROCESSLIST;

2. Писать в таблицу

Включение записи логов в таблицу

SET GLOBAL log_output = 'TABLE';
SET GLOBAL general_log = 'ON';

Просмотр

SELECT event_time, user_host, argument 
FROM mysql.general_log 
WHERE argument LIKE '%Connect%' 
ORDER BY event_time DESC;

3. Писать в файл
Если без перезапуска

SET GLOBAL log_output = 'FILE';
SET GLOBAL general_log_file = '/var/log/mysql/mysql_general.log';
SET GLOBAL general_log = 'ON';

Если на постоянку, то в конфиге

[mysqld]
general_log = 1
log_output = FILE
general_log_file = /var/log/mysql/mysql_general.log

И перезапускаем сервис.

❗️Логи пишутся все, включая запросы, но через таблицу может быть удобнее выборку нужных данных делать.

4. Никто не отменял перехват трафика с записью в файл

tcpdump -i any -n 'port 3306' -w mysql_traffic.pcap

Категории: MySQL, MariaDB etc.

Метки:

- 07.10.2026           Просмотры: 5

Заметки в Telegram

Добавить комментарий

Вы можете оставить комментарий и указать никнейм (выдуманное имя/псевдоним). Поле со звездочкой и капча обязательны. Комментарии одобряются вручную. Нажимая "Отправить комментарий" Вы соглашаетесь с условиями Пользовательского Соглашения и Политики конфиденциальности.