MySQL Monitoring · 3 min read · Sep 12, 2025

Мониторинг соединений и запросов MySQL с помощью mytop

Эта статья объяснит установку и использование mytop, удобного инструмента для живого мониторинга запросов MySQL. Также рассмотрим различные операции, которые пользователь может выполнять во время мониторинга запросов в mytop.

О mytop

Mytop - это инструмент командной строки, который напоминает команду top, но для мониторинга MySQL. Он требует MySQL версии 3.22 или новее, текущие версии MySQL 5.x поддерживаются. Он хорошо работает с большинством систем Linux. Для этого учебника я буду использовать Ubuntu в качестве основы. Необходимы Perl, DBI и Term::ReadKey, установленные в системе. С помощью Term::ANSIColor вы можете получить цветной вывод, если хотите. Версия 0.7 работает даже с Windows.

Установка

Как я уже упоминал в введении, я дам информацию о других инструментах и приложениях, необходимых для функциональности mytop, поэтому я сразу начну с установки mytop:

Debian:

apt-get install mytop

Ubuntu:

sudo apt-get install mytop

Или, если вы хотите скачать tarball с сайта и установить его, то:

tar -zxvf mytop-x.x.x.tar.gz (Ваш номер версии)  
 cd mytop-x.x.x. (Ваш номер версии)  
 perl Makefile.PL  
 make  
 make test  
 make install

Введите вышеуказанные команды, чтобы извлечь данные и завершить установку. Для пользователей CentOS и RedHat вам нужно будет скачать репозиторий rpmforge, чтобы установить его автоматически, или вы можете воспользоваться ручным методом.

Использование mytop

После установки пришло время использовать mytop:

mytop --prompt (это даст вам запрос на ввод пароля, просто нажмите Enter, и вы пройдете)

Вышеуказанный способ является стандартным, вы также можете ввести:

mytop -u root -p (здесь вам нужно будет использовать ваш пароль mysql, потому что вы указываете пользователя "root")

Если вышеуказанная команда возвращает ошибку, такую как “root : NO PASS” или что-то подобное, попробуйте это:

mytop -u root -p xxxx ("xxxx" обозначает ваш пароль)

Пожалуйста, проверьте, работает ли ваш сервер MySQL, прежде чем вводить любую из вышеуказанных команд.
Как только вы закончите, просто нажмите Enter, и он должен вернуть что-то вроде этого:

Первая строка указывает имя сервера (localhost) и версию MySQL, работающую на вашей системе. Строка, выделенная синим, указывает время работы сервера MySQL в формате дней+часов:минут:секунд, а рядом указано текущее время на системе.
Вторая строка указывает количество запросов, которые сервер обработал с момента его работы.
Третья строка отображает количество потоков.
А вторая часть изображения показывает список потоков, обрабатываемых MySQL. Они отсортированы по времени простоя, начиная с наименее бездействующих. Вы можете увидеть информацию и легко ее понять.

Существует несколько аргументов, которые вы можете передать mytop, таких как:
-u или user username: В основном используется для определения имени пользователя при входе в mytop. По умолчанию установлено значение “root”.

-p или pass или password password: Пароли, используемые для входа пользователя. Пароль по умолчанию просто пустой или отсутствует, или просто оставьте поле пароля пустым.

-h или host hostname[:port]: Чтобы указать порты, если MySQL не использует порт по умолчанию. По умолчанию установлен 3306.

-s или -delay seconds: Чтобы указать временной интервал для обновления. По умолчанию 5.
Это некоторые из аргументов mytop, чтобы узнать больше, вы можете ввести:

man mytop

Страницы man содержат более чем достаточно информации, чтобы любой мог понять что-либо о mytop.
Просто взгляните на файл конфигурации, который вы можете создать для себя, чтобы получить легкий доступ и мониторинг ваших данных:

  user=root         #Пользователь, которого вы хотите определить.
  pass=             #Вы можете определить пароли для вашего пользователя.
  host=localhost     #ваше имя хоста
  db=test            #ваше имя базы данных.
  delay=5             #временной интервал для обновления вывода мониторинга.
  port=3306           #порт, который вы хотите использовать для mytop.
  socket=             #если вы укажете любой сокет, mytop проигнорирует указанный номер порта и имя хоста, вы можете просто удалить его, если не находите его полезным.
  batchmode=0      #это предотвращает очистку экрана и дает вам прямую серию запросов, используемых MySQL.
  header=1         #Укажите, хотите ли вы отображать заголовок или нет. Вы можете переключать это с помощью клавиши h, пока mytop работает.
  color=1          #Укажите, хотите ли вы использовать какие-либо цвета в отображении (будет работать только если у вас есть поддержка цвета).
  idle=1           #если вы хотите видеть неактивные процессы в списке процессов.
  

Вы можете создать вышеуказанный файл, введя:

nano ~/.mytop (это должно быть создано в вашей домашней папке, и вы можете использовать любой редактор, который вам нравится.)

Вы также можете проверить некоторые другие опции в mytop, введя: ?. Это даст вам целую страницу сочетаний клавиш, которые вы можете использовать в mytop.

Это все, что касается учебника, вы можете ознакомиться со страницей man, как я уже упоминал ранее. Вы можете получить всю информацию, актуальную на данный момент, из ваших страниц man после установки…

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.