Mytop — мониторинг MySQL в режиме реального времени

Для мониторинга загрузки сервера MySQL в режиме реального времени есть старый и известный инструмент — Mytop. Из названия понятно, что это топоподобная консольная программа. С её помощью можно смотреть какие пользователи и какие запросы отправляют к СУБД.

Как минимум, это удобнее и нагляднее, чем смотреть:

> show full processlist;

Я обычно туда первым делом заглядываю, если на сервере намечаются какие-то проблемы.

Когда попытался установить mytop на Debian 11, удивился, не обнаружив её в репозиториях. Обычно жила там. Немного погуглил и понял, что отдельный пакет убрали, потому что теперь он входит в состав mariadb-client. Если вы используете mariadb, то mytop у вас скорее всего уже установлен. Если у вас другая система, то попробуйте установить программу через пакетный менеджер. В rpm дистрибутивах она точно была раньше в репах. В Freebsd, кстати, тоже есть.

Для того, чтобы программа могла смотреть информацию обо всех базах и пользователях, у неё должны быть ко всему этому права. Если будете смотреть информацию по отдельной базе данных, то можно создать отдельного пользователя для этого с доступом только к этой базе.

Mytop можно запустить, передав все параметры через ключи, либо создать файл конфигурации ~/.mytop (не забудьте ограничить к нему доступ):

user=root

pass=password

host=127.0.0.1

port=3306

color=1

delay=3

idle=0

Обращаю внимание, что если укажите host=localhost вместо 127.0.0.1, то mytop будет пытаться подключиться через unix socket. Если аутентификация через него отключена, то подключиться не получится. Для tcp подключения напишите явно 127.0.0.1.

Теперь можно запускать mytop и смотреть информацию по всем базам. Если набрать ?, то откроется справка. Там можно увидеть все возможности программы. Наиболее актуальны:

  • d — выбрать конкретную базу данных
  • p — остановить обновление информации на экране
  • i — отобразить соединения в статусе Sleep
  • V — посмотреть параметры СУБД

mytop

Хорошая программа в копилку тех, кто работает с MySQL, наряду с mysqltuner и MyDumper.