在Ubuntu中分析MySQL慢查询日志可按以下步骤操作:
确认慢查询日志路径
通过MySQL命令查看日志文件位置:
SHOW VARIABLES LIKE 'slow_query_log_file';
默认路径通常为/var/log/mysql/slow.log或/var/log/mysql/mysql-slow.log。
使用工具分析日志
mysqldumpslow -s t /var/log/mysql/slow.log
可选参数:-s c(按出现次数)、-s l(按锁等待时间)。pt-query-digest /var/log/mysql/slow.log > slow_analysis.txt
报告中重点关注Total time(总耗时)、Rows examined/Rows sent(扫描行数/返回行数,比例过高可能存在索引问题)。关键指标分析
Query_time长的SQL,检查是否可添加索引或重写逻辑。type=ALL或key=NULL,需为对应字段添加索引。优化建议
innodb_buffer_pool_size提升缓存效率。工具安装:
pt-query-digest属于Percona Toolkit,可通过以下命令安装:sudo apt-get install percona-toolkit
注意事项:
slow_query_log=1并重启MySQL)。logrotate),避免日志文件过大。