码迷,mamicode.com
首页 > 数据库 > 详细

mysql开启慢查询日志及验证过程

时间:2016-05-03 14:44:42      阅读:301      评论:0      收藏:0      [点我收藏+]

标签:配置文件   service   sql语句   mysql   服务器   

mysql慢查询

1、慢查询作用?

它能记录下所有执行超过long_query_time时间的sql语句,帮你找到执行慢的sql,方便我们对这些sql语句进行优化。

2、如何开启慢查询?

首先我们先查看mysql服务器的慢查询状态是否开启。

执行如下指令:

技术分享

我们可以看到log_slow_queries状态为ON,说明当前已经开启慢查询。如果没有开启,进行如下操作:

方法一:找到mysql的配置文件my.cnf(/etc/my.cnf),在mysqld下方加入慢查询的配置语句(注意一定要在[mysqld]的下方添加,如果是在[mysqld_safe]下面加入配置语句是不会生效的. 我在配置过程中就犯了这个错误, 亲身体会到了其痛苦!)

技术分享

log-slow-queries:代表mysql慢查询的日志存储目录,此目录文件一定要有写权限

long_query_time:最长执行时间(如图,mysql将记录下所有执行时间超过2秒的sql语句,测试时候时间不应太短);

配置好了以后重新启动mysql服务,service mysqld restart 

方法二:在mysql命令下执行如下操作:

技术分享

通过set命令来设置mysql变量的状态,但这个只是临时生效,重启服务后就回复原来的状态。

配置完成后我们来检查一下状态,如下图:

技术分享
说明已经开启了慢查询服务,并且时间限制为2秒。

3、慢查询日志验证

我们在观察一下/var/lib/mysql/目录下面是否自动创建了mysql-slow.log文件。

技术分享

cat mysql-slow.log 发现文件已存在. 只是文件中并没有任务SQL的记录. 那么现在我们测试一下执行一条超过long_query_time的SQL语句.

技术分享

执行完了一个5秒的SQL语句, 不出意外的情况下mysql-slow.log文件中应该记录下了这条SQL语句. OK! 我们cat mysql-slow.log一下

技术分享

果然,慢查询的整个日志过程配置完成!

本文出自 “Linux技术交流” 博客,请务必保留此出处http://9678130.blog.51cto.com/9668130/1769657

mysql开启慢查询日志及验证过程

标签:配置文件   service   sql语句   mysql   服务器   

原文地址:http://9678130.blog.51cto.com/9668130/1769657

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!