MySQL Monitoring · 3 min read · Jan 29, 2026

Удаленный мониторинг производительности MySQL и запросов

Удаленный мониторинг производительности MySQL и запросов

Может возникнуть ситуация, когда вам необходимо удаленно мониторить сервер MySQL. Существуют некоторые инструменты для Linux, которые позволяют выполнять мониторинг производительности и запросов локально, и эти инструменты также могут быть использованы для удаленного мониторинга - но только в незашифрованном виде! Также часто MySQL слушает только на интерфейсе обратной связи, поэтому он даже недоступен удаленно через сеть (что очень хорошо с точки зрения безопасности). Но в мире Linux есть простое решение.

Предварительная заметка + Отказ от ответственности

В следующей статье описывается способ, которым я установил и использовал программное обеспечение, я не даю никаких гарантий, что тот же способ сработает для вас. У вас должны быть некоторые базовые знания о том, как работать в оболочке.

SSH

Когда-то SSH называли “бедным человеком VPN”, но он очень универсален и имеет множество полезных функций, и его очень легко настроить, и когда вы администрируете Linux-систему, шансы высоки, что вы уже используете его. Так почему бы не использовать это в наших интересах, когда задача состоит в администрировании удаленной базы данных MySQL?!

Инструменты MySQL

mysqlreport

mysqlreport был представлен на Howtoforge в статье “Получение значений статуса MySQL с помощью mysqlreport”, также там упоминался гид для понимания этого отчета, mysqlreportguide.

mysqlreport можно использовать для обращения к удаленным сайтам с параметрами командной строки в стиле

mysqlreport --host 127.0.0.1 --port 3306  --user root --password ...

для обращения к удаленным серверам MySQL, но только в незашифрованном виде.

mytop

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

mytop --host 127.0.0.1 --port 3306  --user root --password ...

innotop

innotop сосредоточен на движке Inno-DB MySQL. Он также работает в стиле, похожем на mytop, и имеет базовые сетевые возможности в стиле

innotop -u root -p ... -h 127.0.0.1

Для всех этих инструментов вам следует ознакомиться с мануалами для более глубокого понимания их возможностей.

SSH

Эти инструменты, и я могу представить, что есть еще больше инструментов для администрирования и мониторинга MySQL, которые имеют базовые сетевые возможности, могут легко быть объединены с мощью SSH, который шифрует соединения с удаленными сайтами на лету и защищает их от подслушивания ценной информации, такой как пароли. SSH-туннель также может быть методом безопасного обращения к сервису, который слушает только на localhost.

  • На сервере должен работать демон SSH
  • Предпочтительно, чтобы вы экспортировали свой открытый ключ на сервер для входа без пароля.
  • Вы должны установить безопасный, зашифрованный туннель с помощью SSH к серверу, в стиле
ssh -v -L33066:localhost:3306 -N [email protected]

для выполнения локальной переадресации порта. Вы можете проверить это, выполнив

netstat -an | grep 33066

и получить вывод, похожий на

tcp        0      0 127.0.0.1:33066         0.0.0.0:*               LISTEN
tcp6       0      0 ::1:33066               :::*                    LISTEN

В этом случае есть два прослушивающих порта, один IPv4 и один IPv6, но ::1 - это localhost в IPv6, как и 127.0.0.1 в IPv4.

  1. Затем вы можете безопасно подключиться с помощью установленного на вашем локальном компьютере клиентского программного обеспечения к целевому MySQL через зашифрованный туннель, в стиле
mysqlreport --host 127.0.0.1 --port 33066  --user root --password ...

или

innotop -u root -p ... -h 127.0.0.1:33066

или

mytop --host 127.0.0.1 --port 33066  --user root --password ...

Я уверен, что такое соединение также может быть установлено с помощью известного PuTTY или других SSH-клиентов, а также с помощью других инструментов администрирования MySQL, которые позволяют удаленное администрирование.

Дополнительное чтение

Поскольку я не немецкий экс-министр и экс-доктор фон Гуттенберг, который неправильно цитировал источники информации в своей диссертации, и его докторская степень была аннулирована, вот мои источники информации, или, иначе говоря, сноски (где он споткнулся) :)

  • Получение значений статуса MySQL с помощью mysqlreport
  • mysqlreportguide
  • Вход без пароля с OpenSSH

И, снова касаясь дела “фон Гуттенберг”, вышеизложенное не является диссертацией, а лишь своего рода техническим руководством или кулинарным рецептом. Просто для ясности.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.