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

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2023
Перейти к:навигация, поиск
 
(не показаны 3 промежуточные версии этого же участника)
Строка 1: Строка 1:
 +
[[Файл:B_1.gif |link=https://bit.ly/3tbFsd6| Доступная цена]]
 +
 
=== MySQL/MariaDB - CentOS 7 - как включить лог медленных запросов slow_query_log ===
 
=== MySQL/MariaDB - CentOS 7 - как включить лог медленных запросов slow_query_log ===
  
 +
 +
Youtube video: https://youtu.be/lvIPhDdNIlg
  
 
Для логирования медленных запросов нужно добавить в /etc/my.cnf строки:
 
Для логирования медленных запросов нужно добавить в /etc/my.cnf строки:
Строка 13: Строка 17:
  
 
  '''long_query_time'''  - это число секунд, которые запросы выполняется. Можно увеличить до 1-2 секунды, либо оставить 0, чтобы логировать все запросы.
 
  '''long_query_time'''  - это число секунд, которые запросы выполняется. Можно увеличить до 1-2 секунды, либо оставить 0, чтобы логировать все запросы.
 +
 +
Также стоит обратить внимание на опцию '''log_queries_not_using_indexes''' и добавить ее если не нужно включать запросы, которые используют индексы. <br>
  
 
Создать файл логов медленных запросов:
 
Создать файл логов медленных запросов:
Строка 24: Строка 30:
 
Проанализировать медленные ТОП-50 sql запросов можно сразу через команду '''pt-query-digest:'''
 
Проанализировать медленные ТОП-50 sql запросов можно сразу через команду '''pt-query-digest:'''
 
  # pt-query-digest --limit=50 /var/log/mariadb/slow-queries.log > all.log
 
  # pt-query-digest --limit=50 /var/log/mariadb/slow-queries.log > all.log
 +
# egrep -r Overall all.log - покажет общую статистику по запросам, число запрос в секунду.
  
 
'''pt-query-digest''' - ставится из пакета '''Percona Toolkit''':
 
'''pt-query-digest''' - ставится из пакета '''Percona Toolkit''':

Текущая версия на 10:34, 6 февраля 2022

Доступная цена

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

Youtube video: https://youtu.be/lvIPhDdNIlg

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

# vi /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, чтобы логировать все запросы.

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

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

# 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
# egrep -r Overall 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