Запускаем скрипт mysqltuner.pl для автоматической диагностики MySQL
Дата публикации: 24.06.2026

Запускаем скрипт mysqltuner.pl для автоматической диагностики MySQL

Хочу себе такие же кнопки
ccb9a536

Что вы получите, запустив mysqltuner.pl

  • Быструю диагностику текущего состояния MySQL‑сервера.
  • Понимание узких мест (память, кэш, соединения, запросы).
  • Конкретные рекомендации по настройке параметров my.cnf.
  • Умение сравнивать результаты после изменений и уверенно поддерживать производительность сайта на Битриксе.

1. Подготовка к запуску

Шаг Что делаем Почему важно
1.1 Убедитесь, что у вас есть root‑доступ к серверу (или пользователь с правами sudo). Без прав доступа нельзя читать файлы конфигурации и статистику.
1.2 Установите Perl (интерпретатор) и необходимые модули (DBI, DBD::mysql). mysqltuner.pl написан на Perl, без него скрипт не выполнится.
1.3 Скачайте последнюю версию скрипта с официального репозитория. Обновлённый скрипт учитывает новые версии MySQL и новые метрики.
1.4 Проверьте, что MySQL‑сервер запущен и доступен по локальному сокету или TCP‑портам. Скрипт собирает статистику только из работающего сервера.

Как установить Perl и модули (пример для Debian/Ubuntu):

sudo apt-get update
sudo apt-get install perl libdbi-perl libdbd-mysql-perl

Для CentOS/RHEL:

sudo yum install perl perl-DBI perl-DBD-MySQL

Скачивание скрипта:

wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl
chmod +x mysqltuner.pl

Совет: храните скрипт в каталоге /usr/local/bin, чтобы запускать его откуда угодно.


2. Запуск скрипта

Самый простой вариант – без параметров:

./mysqltuner.pl

Скрипт запросит у вас логин и пароль MySQL‑пользователя с правами PROCESS. Если вы хотите передать их в командной строке (не рекомендуется в продакшене), используйте:

./mysqltuner.pl --host localhost --user root --pass your_password

Полезные параметры:

Параметр Описание
--quiet Отключает интерактивный ввод, выводит только отчёт.
--noout Не сохраняет лог в файл mysqltuner.log.
--verbosity N Уровень детализации (0‑3).
--checks N Отключить определённые проверки (например, --checks 1,2,5).

Важно: При работе на VDS‑сервере от VDSina (https://vdsina.ru?partner=5095) вы можете добавить к команде --host <IP> если MySQL слушает не на localhost.


3. Что показывает отчёт?

После выполнения скрипта вы увидите несколько блоков. Ниже – разбор самых часто задаваемых вопросов.

3.1 Общая информация

--- MySQLTuner 1.7.17 --------------------
[+] MySQL Version: 5.7.33
[+] OS: Linux 5.10.0-23-amd64
[+] Uptime: 12 days 4 hours 23 minutes
  • Версия MySQL – помогает понять, какие параметры доступны.
  • Время работы (Uptime) – чем дольше, тем достовернее статистика.

3.2 Память

[+] Total memory: 4.0G
[+] Max MySQL memory usage: 2.1G (53.2% of total)
[+] Variables: key_buffer_size = 256M, query_cache_size = 0M, innodb_buffer_pool_size = 1.5G
  • key_buffer_size – кэш для MyISAM‑таблиц. Если у вас только InnoDB, можно уменьшить.
  • innodb_buffer_pool_size – основной кэш для InnoDB. Рекомендация: 70‑80 % от доступной RAM, если сервер не делит ресурсы.

3.3 Соединения

[+] Max used connections: 45 (out of 151)
[+] Threads_connected: 12
[+] Threads_running: 3
  • max_connections – максимальное количество одновременных соединений. Если часто достигаете лимита, увеличьте, но учитывайте память.
  • Threads_running – активные запросы. Если их много, ищите «тяжёлые» запросы в slow_query_log.

3.4 Кеши запросов

[+] Query cache is disabled.
[+] InnoDB buffer pool reads: 1.2M, reads from disk: 45K (3.8%)
  • Отключённый query cache часто лучше для современных приложений (Bитрикс использует динамический контент).
  • Низкий процент чтения с диска (3.8%) говорит о том, что InnoDB‑кеш работает эффективно.

3.5 Рекомендации

Скрипт выводит строки вида:

[+] Increase innodb_buffer_pool_size to 2G
[+] Set max_connections to 250
[+] Turn on slow_query_log and set long_query_time to 1

Каждая рекомендация снабжена объяснением «почему». Запишите их, а затем проверьте, как изменится метрика после применения.


4. Как применить изменения

  1. Откройте файл my.cnf (обычно /etc/mysql/my.cnf или /etc/my.cnf).
  2. Добавьте/измените нужные директивы в секции [mysqld]. Пример:
[mysqld]
innodb_buffer_pool_size = 2G
max_connections = 250
slow_query_log = 1
long_query_time = 1
  1. Перезапустите MySQL:
sudo systemctl restart mysql   # Debian/Ubuntu
# или
sudo service mysqld restart    # CentOS/RHEL
  1. Снова запустите mysqltuner.pl и сравните показатели. Если Max MySQL memory usage всё ещё превышает 80 % RAM, уменьшите max_connections или innodb_buffer_pool_size.

5. Частые ошибки и как их избежать

Ошибка Причина Как исправить
«Perl not found» Perl не установлен. Установите perl через пакетный менеджер.
«Access denied for user» Неправильный пользователь/пароль или отсутствие права PROCESS. Создайте пользователя: GRANT PROCESS, SELECT ON *.* TO 'tuner'@'localhost' IDENTIFIED BY 'pwd';
«Can't read /etc/my.cnf» Скрипт запущен без прав. Запустите sudo ./mysqltuner.pl.
«InnoDB buffer pool size too big» Память сервера ограничена (например, VDS с 2 GB). Уменьшите innodb_buffer_pool_size до 1 GB или меньше.
«Query cache is enabled but MySQL version > 5.7» В новых версиях MySQL query cache устарел. Отключите: query_cache_type = 0.

6. Автоматизация диагностики

Для постоянного мониторинга удобно добавить задачу в cron:

0 3 * * * /usr/local/bin/mysqltuner.pl --quiet --noout >> /var/log/mysqltuner.log 2>&1

Эта запись будет запускать скрипт каждый день в 03:00, сохранять вывод в лог‑файл и позволять вам отслеживать изменения во времени.


7. Связь с выбором VDS от VDSina

Если ваш сайт на Битриксе начинает «тормозить», правильный VDS поможет распределить нагрузку. На VDSina можно подобрать план от 150 руб/мес (для небольших магазинов) до Hi‑CPU (для высоких нагрузок). После выбора сервера сразу запускайте mysqltuner.pl, чтобы настроить MySQL под доступные ресурсы.


Практика для закрепления

  1. Скачайте и запустите mysqltuner.pl на тестовом сервере. Сохраните вывод в файл report1.txt.
  2. Определите текущий размер innodb_buffer_pool_size и сравните его с рекомендацией скрипта. Запишите, нужно ли увеличить или уменьшить параметр.
  3. Измените max_connections согласно совету скрипта, перезапустите MySQL и повторно запустите mysqltuner.pl. Сравните значение Max used connections до и после.
  4. Включите slow_query_log и задайте long_query_time = 2. Выполните несколько типовых запросов Битрикса (например, загрузка каталога) и проверьте, какие запросы попали в лог.
  5. Создайте задачу в cron, которая будет писать отчёт в /var/log/mysqltuner_daily.log каждый день в 02:30. Убедитесь, что файл обновляется, проверив его содержимое после первого запуска.

Выполнив эти упражнения, вы будете уверенно измерять и оптимизировать производительность MySQL, а значит, ваш сайт на Битриксе будет работать быстрее и стабильнее. Удачной диагностики!


CamZamZam - онлайн фото с вебкамеры с эффектами
Cartoon Network: игры с персонажами
Чат рулетка в 2026: будущие функции
Эксперт по доменным стратегическим решениям
Хостинг для e-commerce проектов
Как играть в слоты
Как настроить CDN для сайта на хостинге Host.bg
Как настроить SSL-сертификат для сайта на Host.bg
Как оптимизировать производительность сайта с хостингом Host.bg
Как выбрать правильный хостинг для вашего сайта
Какие бывают ЛОР болезни у детей
Кассовые терминалы с оплатой картами
LOL куклы витрина детская
Лучшие видеорегистраторы для водителей
Онлайн QR-код сканер
Онлайн-связь
Оптимизация производительности баз данных на хостинге Host.bg
Основы настройки веб-хостинга: что вам нужно знать
Партнёрская программа без блога: как получать трафик из Telegram
Профессиональные хитрости для пользователей хостинга Host.bg
Регистрация ИП в Москве для иностранных граждан
Сравнение хостинга Host.bg с другими провайдерами
Субтитры — нет, уши — включены: погружение в английский за 5 минут
Сумки с бусинами
Техника для строительства загородных трасс
ТОП-10 VPS для разработчика: рейтинг серверов под рабочие задачи
WordPress блог для бизнеса
рейтинг хостингов 2026 Быстрые VDS серверы