Home  >  Article  >  Database  >  根据mysql慢日志监控SQL语句执行效率_MySQL

根据mysql慢日志监控SQL语句执行效率_MySQL

WBOY
WBOYOriginal
2016-06-01 13:38:46937browse

bitsCN.com


根据mysql慢日志监控SQL语句执行效率

 

启用MySQL的log-slow-queries(慢查询记录)。

 

  在Linux环境下先要找到my.cnf文件(一般在/etc/mysql/),然后可能会发现该文件修改后无法保存,原因是你没有相应的权限,可以从属性中看到该文件的所有者是root,这时要先以root的身份打开它:    

 

  sudo nautilus /etc/mysql

 

  接着再打开my.cnf文件然后找到[mysqld]标签在下面加上:

 

  log-slow-queries=/path/slow.log  –慢日志保存路径,该文件自己新建

  long_query_time=2                     –超过2秒的查询

  log-queries-not-using-indexes –记录没有使用索引的查询

 

保存,关闭。然后如果重启MySQL的话会碰到这样的提示:world-writable config file ‘ etc my.cnf’ is ignored

 

这时需要你再运行这个代码:

 

chmod 644 /etc/my.cnf       –644表示rw-r–r–

 

然后再重启服务就OK了。

 

但是要注意的是:log-slow-queries=/path/slow.log为慢查询日志存放的地方,而这个目录要有MySQL的运行帐号的可写权限,一般都将这个目录设置为MySQL的数据存放目录。

 

我是这么做的:先用root用户进到MySQL的数据存放目录(一般是/var/lib/mysql),新建一个slow.log文件(root用户能保证有权限新建,再运行chmod 644)。然后更改该文件的所有者和所在组:

 

  chown mysql运行帐户的名字(可以看同文件夹中其他文件的所有者和组)+小数点+组名(方法同用户名) /path/slow.log

 

或者:

 

  chown mysql运行帐户的名字(可以看同文件夹中其他文件的所有者和组)  /path/slow.log

 

  chgrp 组名(方法同用户名) /path/slow.log

 

这样才能保证MySQL能往slow.log中写日志。
 

bitsCN.com
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn