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.
- Затем вы можете безопасно подключиться с помощью установленного на вашем локальном компьютере клиентского программного обеспечения к целевому 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
И, снова касаясь дела “фон Гуттенберг”, вышеизложенное не является диссертацией, а лишь своего рода техническим руководством или кулинарным рецептом. Просто для ясности.
Get new posts in your inbox
No spam. Unsubscribe anytime.