下文我给大家简单讲讲关于mysql慢查询查看,大家之前了解过相关类似主题内容吗?感兴趣的话就一起来看看这篇文章吧,相信看完mysql慢查询查看对大家多少有点帮助吧。
MYSQL慢查询
一、查看系统所有参数状态:
mysql> show variables
二、查看慢查询的定义:
mysql> show variables like '%quer%';
| log_slow_queries | ON |
| long_query_time | 5.000000 |
mysql> show variables like 'slow%';
+---------------------+-------------------------------+
| Variable_name | Value |
+---------------------+-------------------------------+
| slow_launch_time | 5 |
| slow_query_log | ON |
| slow_query_log_file | /var/log/mysql/slow_query_log |
+---------------------+-------------------------------+
3 rows in set (0.00 sec)
三、修改慢查询定义:
1.立即修改:
开启慢查询功能、时间定义
mysql> SET log_slow_queries=on;
mysql> SET long_query_time=5;
开启慢查询记录功能、时间定义、文件保存位置
mysql> SET slow_query_log=on;
mysql> SET slow_launch_time=5;
mysql> SET slow_query_log_file=/var/log/mysql/slow_query_log;
2.修改配置文件(需要重启服务)
vim /etc/my.cnf
开启慢查询功能、时间定义
log_slow_queries=on|off
long_query_time=5
开启慢查询记录功能、时间定义、文件保存位置
slow_query_log=on|off
slow_launch_time=5
slow_query_log_file=/var/log/mysql/slow_query_log
重启服务
service mysql restart
四、其他设置
1.记录所有没有使用到索引的查询语句
log_queries_not_using_indexes=on|off
2.记录那些由于查找了多余1000次而引发的慢查询
min_examined_row_limit=1000
3.记录那些慢的OPTIMIZE TABLE,ANALYZE TABLE和ALTER TABLE语句
log-slow-admin-statements
4.记录由slave所产生的慢查询
log-slow-slave-statements
五、日志分析工具mysqldumpslow
-s, 是表示按照何种方式排序:
c: 访问计数
l: 锁定时间
r: 返回记录
t: 查询时间
al:平均锁定时间
ar:平均返回记录数
at:平均查询时间
-t, 是top n的意思,即为返回前面多少条的数据;
-g, 后边可以写一个正则匹配模式,大小写不敏感的;
例:
1.得到返回记录集最多的10个SQL。
mysqldumpslow -s r -t 10 /var/log/mysql/slow_query_log/mysql06_slow.log
2.得到访问次数最多的10个SQL
mysqldumpslow -s c -t 10 /var/log/mysql/slow_query_log/mysql06_slow.log
3.得到按照时间排序的前10条里面含有左连接的查询语句。
mysqldumpslow -s t -t 10 -g “left join” /var/log/mysql/slow_query_log/mysql06_slow.log
4.另外建议在使用这些命令时结合 | 和more 使用 ,否则有可能出现刷屏的情况。
mysqldumpslow -s r -t 20 /var/log/mysql/slow_query_log/mysql06-slow.log | more
大家觉得mysql慢查询查看这篇文章怎么样,是否有所收获。如果想要了解更多相关,可以继续关注我们的行业资讯板块。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。