MySQL/MariaDB - CentOS 7 - как включить лог медленных запросов slow query log

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2023
Версия от 14:15, 9 ноября 2020; Admin iph (обсуждение | вклад) (Новая страница: «=== MySQL/MariaDB - CentOS 7 - как включить лог медленных запросов slow query log === Для логирования медлен…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

MySQL/MariaDB - CentOS 7 - как включить лог медленных запросов slow query log

Для логирования медленных запросов нужно добавить в /etc/my.cnf строки:

[mysqld]
log_output = file
slow_query_log = ON
long_query_time = 0
log_slow_admin_statements = ON
log_slow_slave_statements = ON
slow_query_log_file = /var/log/mariadb/slow-queries.log
long_query_time  - это число секунд, которые запросы выполняется. Можно увеличить до 1-2 секунды, либо оставить 0, чтобы логировать все запросы.

Создать файл логов медленных запросов:

# touch /var/log/mariadb/slow-queries.log
# chown mysql:mysql /var/log/mariadb/slow-queries.log

и перезапустить MySQL/MariaDB сервер:

 # systemctl restart mariadb


Проанализировать медленные ТОП-50 sql запросов можно сразу через команду pt-query-digest:

# pt-query-digest --limit=50 /var/log/mariadb/slow-queries.log > all.log

pt-query-digest - ставится из пакета Percona Toolkit:

Пример для CentOS 7:
# yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
# yum install percona-toolkit