MySQL 慢日志(slow log)是 MySQL DBA 及其他开发、运维人员需经常关注的一类信息。使用慢日志可找出执行时间较长或未走索引等 SQL 语句,为进行系统调优提供依据。
本文将结合一个线上案例,分析如何正确设置 MySQL 慢日志参数和使用慢日志功能,并介绍下网易云 RDS 对 MySQL 慢日志功能的增强。
MySQL 参数组功能
网易云 RDS 实例提供了参数组管理功能,可通过参数管理界面查看绝大部分常用的 MySQL 系统参数,用户可了解当前运行值和建议值:
用户
1.MySQL 5.5命令行里面
代码如下:
set global log_slow_queries = on; # 开启慢日志
set [session|global] long_query_time =0.2 # 设置时间.精确的毫秒
set global log_queries_not_using_indexes = on; # 设置无索引的查询
2.查看存放日志的形式
mysql>
先查看下慢日志是否被开启
show variables like '%slow_query_log';
Mysql默认是OFF,关闭。
开启慢日志
set global slow_query_log=1;
可以看到慢日志已经被开启了
慢日志是记录慢的sql,那具体什么才算是慢的sql,这要根据自己的业务来定,先看看默认的慢查询时间
show variables like '%long_query_time%';
可以发现是10秒,这时间就太长了
重新定义慢查询sql的时间,这里定义
介绍:Anemometer 是一个图形化显示MySQL慢日志的工具。结合pt-query-digest,Anemometer可以很轻松的帮你去分析慢查询日志,让你很容易就能找到哪些SQL需要优化
This is the Box Anemometer, the MySQL Slow Query Monitor. This tool is used to analyze slow query logs collected from MySQL instances to identify prob