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 mytopUbuntu:
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 после установки…
Get new posts in your inbox
No spam. Unsubscribe anytime.