Активируется так:
vi /etc/my.cnf
В блок [mysql] добавляем следующее:
# логгируем запросы длиннее 5 секунд
long_query_time = 10
log-slow-queries = /var/log/mysqld-slow-query.log
# логгируем запросы, не использующие индексы
log-queries-not-using-indexes
Перезапускаем MySQL:
/etc/init.d/mysqld restart
После этого должен быть автоматически создан файл для лога:
ls -al /var/log/mysql | grep slow
-rw-rw---- 1 mysql adm 47K 2011-07-13 19:54 mysql-slow.log
Еще есть очень полезная утилита mysqldumpslow для анализа лога медленных запросов.
ReplyDeleteСпасибо, посмотрю.
ReplyDeleteАвтор ты некомпетентен, что за чушь ты тут написал?
ReplyDeleteЧтобы логгировать запросы больше 5 секунд, нужно ставить long_query_time = 5, а не как у тебя long_query_time = 10. И ВТОРОЕ, эти настройки нужно вставлять в блок [mysqld], а не [mysql].
Дурак ты и не лечишься
DeleteВсе верно! letgo
Deleteletgo, некомпететность в каком-либо вопросе всяко более меньший грех чем хамство.
ReplyDeleteЭто проверенное решение, а текст в комментариях исправил бы любой комптентный администратор.
Есть более полезная штука. Используйте http://wm-tools.net/mysql для диагностики, анализа и советов по оптимизации mysql.
ReplyDeleteСсылка: Оптимизация MySQL
да, конечно, на боевом сервере желательно!!! с правами root))
DeleteБыл опыт, что подропало базы? :)
DeleteВот интересно, какой здоровый человек будет давать рута от своей базы?! Это что, сервис для сбора паролей, емейлов и хешей и хакеров из школы номер 114?
DeleteРут можно не давать, достаточно обычного юзера.
ReplyDeleteРут никто не мешает дать на минуту, а затем сменить пароль (временно).
Да и делаться это все должно для dev-сервера.
Но кому что ближе, кому оптимизация, а кому и паранойя ;)
Нужно еще добавить slow_query_log = 1
ReplyDelete