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

Обновлено и опубликовано Опубликовано:

Данный журнал помогает найти узкие места в работе СУБД MySQL и повысить ее производительность. Инструкция написана на примере Linux CentOS и будет немного отличаться в зависимости от используемой операционной системы, но принцип остается такой же. 

Для включения возможности показа медленных запросов открываем файл конфигурации сервера баз данных my.cnf:

vi /etc/my.cnf

* данный файл может находиться в каталоге /etc, как в данном примере или располагаться в каталоге с базами (его можно посмотреть командой select @@datadir в командной оболочке СУБД).

Добавляем в открытый файл (секцию mysqld) две строчки:

[mysqld]
long_query_time=30
log-slow-queries=/var/log/mysql/slow-query.log

* при такой настройке SQL-запросы, которые по длительности превысят 30 секунд попадут в файл /var/log/mysql/slow-query.log.

Создаем каталог для журнала:

mkdir /var/log/mysql

Создаем файл лога:

touch /var/log/mysql/slow-query.log

Задаем владельца mysql для созданного файла:

chown mysql:mysql /var/log/mysql/slow-query.log

И перезагружаем сервер MySQL:

systemctl mysqld restart

Открываем наш файл в режиме непрерывного просмотра содержимого:

tail -f /var/log/mysql/slow-query.log

И ждем появления медленных SQL-запросов

# Серверы # Базы данных # UNIX # MySQL
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет