Включение журнала медленных запросов MySQL: подробное руководство

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Для активации журнала медленных запросов MySQL нужно запустить команды, которые определят системные переменные:

SQL
Скопировать код
SET GLOBAL slow_query_log = 1;
SET GLOBAL slow_query_log_file = '/var/log/mysql/slow-query.log';
SET GLOBAL long_query_time = 2;

Вместо /var/log/mysql/slow-query.log укажите актуальный путь к файлу журнала на вашем сервере.

Кинга Идем в IT: пошаговый план для смены профессии

Пошаговое руководство: Раскрываем суть журнала медленных запросов

Из этого руководства вы узнаете, как настроить и управлять журналом медленных запросов slow_query_log для MySQL.

Введение в ваш MySQL

Определите версию MySQL, так как реализация журнала медленных запросов может варьироваться:

  • Начиная с версии 5.1.6, настройки применяются на лету.
  • Для версий до 5.1.6, их необходимо определить в файле конфигурации my.cnf или my.ini.

Настройка для MySQL < 5.1.6 (my.cnf)

В старых версиях MySQL добавьте параметры журнала в файл конфигурации следующим образом:

ini
Скопировать код
[mysqld]
log-slow-queries = /var/log/mysql/slow-query.log
long_query_time = 2
log_queries_not_using_indexes = 1

После изменений перезагрузите MySQL:

Bash
Скопировать код
sudo systemctl restart mysql

Теперь вы так же влияете на MySQL, как исторические личности на ход событий!

Настройка для MySQL ≥ 5.1.6 (в режиме выполнения)

В версиях MySQL 5.1.6 и более поздних изменения можно делать прямо в процессе работы. Используйте команды:

SQL
Скопировать код
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL slow_query_log_file = '/ВАШ_ПУТЬ/slow-query.log';
SET GLOBAL long_query_time = 2;

Интерпретация параметров

Разберем подробнее параметры:

  • slow_query_log: переключает журнал (включено – 1/ON или выключено – 0/OFF).
  • slow_query_log_file: указывает путь к файлу журнала.
  • long_query_time: устанавливает время-порог в секундах, по истечении которого запрос считается медленным.

Сохранение изменений

Изменения, выполненные в реальном времени, являются временными. Чтобы они стали постоянными, пропишите их в my.cnf.

Проверка изменений

После внесения изменений убедитесь, что они применились, используя запрос:

SQL
Скопировать код
SHOW VARIABLES LIKE '%slow%';

Визуализация

Настройка журнала медленных запросов аналогична подготовке нового игрового ПК:

Markdown
Скопировать код
🎮 Настройки (Журнал медленных запросов):
1. Включение                  : `SET GLOBAL slow_query_log = 'ON';`
2. Путь к файлу журнала       : `SET GLOBAL slow_query_log_file = '/путь/к/log-файлу';`
3. Порог времени запроса      : `SET GLOBAL long_query_time = 2;`
4. Запись запросов без индексов: `SET GLOBAL log_queries_not_using_indexes = 'ON';`

И точно так же, как вы готовите ПК к активной игровой нагрузке, вы конфигурируете MySQL, чтобы защитить его от медленных запросов.

Джедайские трюки с журналом медленных запросов

Анализ журнала

Просматривайте файл журнала с помощью таких инструментов, как mysqldumpslow или pt-query-digest, чтобы находить "подводные камни" в запросах.

Индивидуальная настройка

Если вам необходимо отслеживать медленные запросы, не использующие индексы, включите параметр log_queries_not_using_indexes.

Контроль размера

Мониторьте размер файла журнала, т.к. он может быстро расти, занимая место и ухудшая производительность.

Осторожно на продакшене

На продакшн-серверах используйте журнал медленных запросов с предосторожностью, предварительно проверив его на сервере разработки или стейджинге.

Полезные материалы

  1. Руководство по MySQL 5.7 :: Журнал медленных запросов — Официальная документация MySQL по работе с журналом медленных запросов.
  2. Профилирование запросов MySQL от DigitalOcean — Руководство по профилированию запросов MySQL.
  3. Обзор журнала медленных запросов MariaDB — Инструкция по использованию журнала медленных запросов в MariaDB.
  4. Документация Percona Toolkit по pt-query-digest — Руководство по использованию pt-query-digest для анализа журнала медленных запросов и оптимизации работы базы данных.