MySQL/MariaDB - CentOS 7 - как включить лог медленных запросов slow query log: различия между версиями
Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2024
Admin iph (обсуждение | вклад) |
Admin iph (обсуждение | вклад) |
||
(не показаны 4 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
− | = | + | [[Файл:B_1.gif |link=https://bit.ly/3tbFsd6| Доступная цена]] |
+ | === 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