Есть ли способ регистрировать каждый запрос с MySQL?
Мой сервер MySQL необычно использует более высокую загрузку процессора. Поэтому я посмотрел, как регистрировать каждый запрос, и нашел много учебных пособий, в которых говорилось одно и то же: http://www.howtogeek.com/howto/database/monitor-all-sql-queries-in-mysql/
Я следовал за руководством, но файл журнала не содержал никаких запросов. Я хотел бы упомянуть одну вещь: /var/logs/
Папка mysql
не существовало, поэтому я сделал папку и создал файл журнала под названием mysql.log
в этом.
Небольшой фон моей коробки:
- Arch Linux
- Nginx
- PHP / рубин / Python / Perl
- MySQL
2 ответа
По умолчанию mysql хранит журналы в рабочем каталоге, обычно /var/db/mysql. Все, что вам нужно, чтобы включить ведение журнала, это установить переменную general_log
на "ВКЛ". Также вы можете установить general_log_file
Переменная в нужное место.
SET @@global.general_log = 1;
SET @@global.general_log_file = '/where/to/store/log/file.txt';
Проверьте опцию Slow Query Log.