要做MySQL优化 。首先要要找到性能瓶颈,进行定位分析,然后直达病灶,各个击破。这里介绍通过开启MySQL慢查询,记录下超过指定时间的sql语句。
一.慢查询相关参数说明
1.slow_query_log 慢查询开启状态2.slow_query_log_file 慢查询日志存放的位置
3.long_query_time 查询超过多少秒才记录
二.查询慢查询相关参数
1.执行show variables like 'slow_query%';
查看慢查询开启状态和日志存放位置
结果如下所示,说明慢查询未开启
+---------------------------+----------------------------------+ | Variable_name | Value | +---------------------------+----------------------------------+ | slow_query_log | OFF | | slow_query_log_file | /mysql/data/localhost-slow.log | +---------------------------+----------------------------------+
2.执行show variables like 'long_query_time';
查看慢查询设定执行超时时间
结果如下图所示 ,慢查询设置时间为10秒
+-----------------+-----------+ | Variable_name | Value | +-----------------+-----------+ | long_query_time | 10.000000 | +-----------------+-----------+
三、设置慢查询
1.slow_query_log 全局变量设置为“ON”状态
执行set global slow_query_log='ON';2.设置慢查询日志存放位置
执行set global slow_query_log_file='/usr/local/mysql/data/slow.log';
3.设置查询超时多长时间记录
执行set global long_query_time=1;
这里设置超过1秒记录
4.重启mysql服务
四、测试
执行慢查询测试语句select sleep(2);
查看相应日志文件是否有记录。