我正在运行Ubuntu 12.04.2 LTS(GNU / Linux 3.2.0-24-x86_64)和Percona的mysql服务器。
我知道即时通讯缓慢的查询,但我不知道我在哪里find他们是什么,所以我可以尝试补救他们。
有人能够帮助我find日志的位置,如果我能够告诉有问题的查询是什么。
谢谢
我将启动启用mysql_long_queries,然后检查日志输出。
在my.cnf下的[mysqld]
long_query_time = 1 log-slow-queries = /var/log/mysql/mysql_slow.log
并从那里去。
你也可以使用:
show processlist show full processlist
查看当前正在运行哪些查询。
我们的朋友rfelsburg所说的一切都是正确的,你应该这样做。 但是,我不得不添加在慢查询日志中看到的所有查询确实运行缓慢。 您需要注意的是有些查询正在队列中等待执行。 但是,由于还有其他慢速查询正在运行,因此它们会作为传递long_query_time值的查询出现在慢速查询日志中,您认为它们运行缓慢。
当你让你的服务器运行一段时间,并收集一些慢的查询,你需要使用slowquerydump 更多信息点击这里 ,这将生成一个很好的格式化文件,所以,你可以find查询,已经跑了多less次,表locking时间,…并逐个运行,看他们是否真的跑得慢或者在队列中待的时间太长而无法执行。
让我知道,如果你有任何的问题。