-
简介
> 开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能 -
参数及命令说明
- 查看慢查询是否开启和日志存储地址 show variables like 'slow_query%';
- 查看慢查询时间配置 show variables like 'long_query_time'
- set global slow_query_log_file='/usr/local/mysql/data/slow.log'; 设置慢查询日志存放的位置
- set global long_query_time=1; 设置long_query_time 时间
- 上边通过命令方式设置的参数在mysql重启后会失效,所以可以通过更改my.cnf文件(linux系统)来永久开启
- vi /etc/my.cnf 进入my.cnf文件(一般都是这里)
- 开始修改,在[mysqld]下的下方加入
slow_query_log = ON
slow_query_log_file = /usr/local/mysql/data/slow.log
long_query_time = 1
> - service mysqld restart 重启MySQL服务
- 执行一条慢查询SQL语句:select sleep(2),然后打开日志查看
- show global status like '%Slow_queries%';查看有多少条慢查询
-
慢查询常用分析工具
- mysqldumpslow
- mysqlsla