Вступление
Mytop - это бесплатный консольный инструмент для мониторинга производительности MySQL. Он похож на утилиту top, но отображает запросы MySQL. С помощью mytop вы можете мгновенно отслеживать время безотказной работы MySQL, потоки, запросы, поведение пользователей и другую информацию о состоянии в режиме реального времени, что может быть полезно для оптимизации производительности MySQL.
В этом руководстве я покажу вам, как установить, настроить и использовать mytop на вновь созданном сервере Vultr на основе приложения LEMP One-Click.
Предпосылки
Прежде чем продолжить, вам необходимо:
-
Разверните экземпляр сервера с помощью приложения LEMP One-Click.
-
Войдите в систему как пользователь без полномочий root с правами sudo. Вы можете найти, как создать пользователя без полномочий root в этой статье .
Шаг первый: установите mytop с помощью репозитория EPEL yum
С помощью EPEL (Extra Packages for Enterprise Linux) репозитория yum вы можете легко установить mytop на свой сервер. По умолчанию репозиторий EPEL yum был установлен при использовании приложения LEMP One-Click.
Вы можете подтвердить существование репозитория EPEL с помощью:
sudo yum repolist
Вы увидите epel Extra Packages for Enterprise Linux 6 - x86_64
репозиторий в списке.
Чтобы защитить пакеты в репозитории EPEL от обновления или переопределения пакетами в других репозиториях, вам необходимо установить плагин «protectbase»:
sudo yum install yum-plugin-protectbase.noarch -y
Затем отредактируйте файл /etc/yum.repos.d/epel.repo
, введите:
cd /etc/yum.repos.d
sudo vi epel.repo
Добавить строку protect=1
в раздел [epel]
:
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
protect=1
Сохраните и закройте файл.
Наконец, установите mytop с помощью:
sudo yum install mytop -y
Чтобы упростить использование mytop, вы можете создать настроенный файл конфигурации с именем /root/.mytop
. Когда вы запускаете mytop как пользователь root или пользователь без полномочий root с привилегиями sudo, программа автоматически вызовет этот файл конфигурации. Если вы хотите запустить его как пользователь без полномочий root без привилегий sudo, вам нужно поместить файл конфигурации в домашний каталог пользователя без полномочий root.
Для справки, вот пример файла конфигурации /root/.mytop
:
user=root
pass=
host=localhost
db=mysql
delay=5
port=3306
socket=
batchmode=0
header=1
color=1
idle=1
Содержимое этого файла содержит аргументы по умолчанию для программы mytop, что сокращает ввод данных вручную при его использовании. Однако, если вы запустите программу с аргументами, введенными вручную, аргументы командной строки переопределят соответствующие аргументы в файле конфигурации.
Вы можете изменить эти аргументы в соответствии с вашими конкретными условиями. Некоторые значения аргументов перечислены ниже:
- пользователь: имя пользователя базы данных.
- pass: пароль для пользователя базы данных. В целях безопасности вы можете оставить это поле пустым и ввести пароль вручную.
- хост: адрес хоста базы данных.
- дБ: имя базы данных.
- задержка: отображение интервала обновления в секундах.
Полные объяснения для каждого аргумента можно найти на странице руководства:
man mytop
Как упоминалось ранее, утилита mytop использует оба аргумента в конфигурационном файле и аргументах командной строки, и последний соответствующим образом переопределит первый.
Таким образом, с файлом конфигурации в порядке, вам просто нужно ввести команду с несколькими аргументами.
Например, если вы хотите ввести пароль с подсказкой для большей безопасности, вы можете ввести:
sudo mytop --prompt
Затем /root/.my.cnf
введите пароль для базы данных по умолчанию и пользователя root, который можно найти , чтобы войти в интерфейс программы mytop.
Вот еще один пример. Если вы хотите отслеживать конкретную базу данных, вы можете использовать:
sudo mytop -d yourdatabasename --prompt
Замени yourdatabasename
на свой.
В интерфейсе программы mytop вы найдете что-то вроде:
MySQL on localhost (5.6.26-log) up 0+08:36:33 [12:07:15]
Queries: 921.0 qps: 0 Slow: 0.0 Se/In/Up/De(%): 00/00/00/00
qps now: 0 Slow qps: 0.0 Threads: 1 ( 1/ 0) 00/00/00/00
Key Efficiency: 100.0% Bps in/out: 0.8/140.7 Now in/out: 9.7/ 1.9k
Id User Host/IP DB Time Cmd Query or State
-- ---- ------- -- ---- --- ----------
14 root localhost mysql 0 Query show full processlist
Это стандартный вид потока mytop, вы всегда можете переключиться на него, нажав t .
Верхние четыре строки составляют заголовок, который можно включить или выключить, нажав Shift + h . Заголовок содержит общую информацию о вашем сервере MySQL.
Под заголовком вы можете видеть данные о состоянии текущих потоков MySQL.
Чтобы получить помощь, нажмите ? ( Shift + / ), когда программа работает.
Чтобы выйти из программы, нажмите q .
Более подробную информацию об отображении и использовании mytop можно найти на его странице руководства:
man mytop
Вот и все. Вы можете использовать данные, собранные из mytop, для реализации информированной оптимизации MySQL.