虽然操作简单,由于一开始没注意到mysql对文件的读写权限问题,结果发现虽然修改了配置文件my.cnf并开启了慢查询,但是实际上该日志文件总是没有创建;打开mysql的error.log,提示could
not use 'slowquery.log'。
后来把权限问题改好,终于可以打印慢查询日志了。为免重蹈覆辙,以下记录开启慢查询日志的步骤:
(1)修改/etc/mysql/my.cnf,在[mysqld]后加上如下两行代码:
这样当查询耗时超过3秒时,会记录到slowquery.log中。
(2)确保mysql对slowquery.log本件本身及所在的路径有读写权限。由于/var/log本来为error.log所在的路径,mysql具有读写权限,因此当日志文件不存在时mysql会自动创建。
如果是其它路径,可通过chown修改文件的属性,通过chmod修改文件的读写权限等等。
(3) 对于分析慢查询日志,一般情况下用mysql自带的mysqldumpslow已经足够,使用可参考这个: http://www.ccvita.com/410.html。
另外一个慢查询分析工具mysqlsla也不错,功能较齐全,参数设定也较简单易用,可参考这个: http://my.oschina.net/alexwu/blog/71058。