Как включить журнал медленных запросов MariaDB
Я настраиваю сервер MariaDB на Linux. Как включить лог медленных запросов на сервере MariaDB в Linux или Unix-подобной системе?
Журнал медленных запросов представляет собой не что иное, как журнал SQL-запросов, которые длительное время занимали ваш сервер. Вы можете использовать этот объект, чтобы узнать SQL-запросы, замедляющие работу вашего динамического веб-приложения. Обратите внимание, что по умолчанию отключен журнал медленных запросов. Давайте посмотрим, как установить и включить медленный журнал запросов на сервере MariaDB.
Как активировать журнал медленных запросов
Отредактируйте файл my.cnf или mariadb.cnf, хранящийся в каталоге /etc/mysql/. В этом примере я редактирую файл /etc/mysql/mariadb.conf.d/50-server.cnf:
1 |
$ sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf |
Добавьте в раздел [mysqld] следующий синтаксис:
1 2 3 4 |
Slow_query_log = 1 Long_query_time = 1 Slow_query_log_file = /var/log/mysql/slow-query.log Log_queries_not_using_indexes |
Сохраните и закройте файл. Где,
- Slow_query_log = 1 — Включить журнал медленных запросов.
- Long_query_time = 1 — Установить время в секундах , определяющее медленный запрос.
- Slow_query_log_file = /var/log/mysql/slow-query.log — Имя файла журнала медленных запросов
- Log_queries_not_using_indexes — записывать ли в журнал запросы, не использующие индексы
Перезапустите сервер mariadb.
Введите следующую команду:
1 |
$ sudo /etc/init.d/mysql restart |
ИЛИ
1 |
$ sudo systemctl restart mysql |
ИЛИ для RHEL / CentoS
1 |
$ sudo systemctl restart mysqld |
Просмотр журнала медленных запросов
Введите следующую команду:
1 |
$ sudo tail -f /var/log/mysql/slow-query.log |
Для анализа лога лучше использовать pt-query-digest
1 |
$ pt-query-digest /var/log/mysql/slow-query.log |
База данных медленно работает, хотите узнать почему и как это исправить? Обращайтесь [email protected]