Есть ли какой-нибудь удобный способ узнать, какие пользователи обращаются к базе данных MySQL? В идеале у меня было бы какое-то приложение, упрощающее эту задачу, но другие методы подойдут.
Если нет стандартного определения, я бы согласился «запрашивал базу данных за последние 30 минут».
Как насчет запроса:
SHOW FULL PROCESSLIST
Это покажет вам подключения к базе данных, с каким пользователем они вошли в систему, состояние подключения и любую текущую команду.
Из командной строки (при условии, что в вашем домашнем каталоге есть папка .my.cnf),
echo Total\ Connections:; mysqladmin processlist | tail -n +4 | head -n -1 | grep Sleep | wc -l ; echo ; echo Current\ Users: ; mysqladmin processlist | tail -n +4 | head -n -1 | grep Sleep | awk '{print $4}' | sort | uniq
Это дает хорошую распечатку уникальных пользователей и общего количества подключений.