输入top命令查看cpu占用
发现mysqld和java同时出现cpu峰值,下降也同时下降,分析可能是sql的问题
怎么定位具体哪条sql呢?
mysql中可以开启慢查询记录
具体操作:
查看mysql慢查询记录是否打开
show variables like '%quer%';
查看慢查询sql输出地址
show variables like '%log_output%';
打开慢查询,记录查询时间超过5秒的慢查询,将慢查询结果输出至slow_log表中
set global slow_query_log = ON;
SET GLOBAL long_query_time = 5;
set global log_output='TABLE';
统计慢查询条数
select count(*) from mysql.slow_log order by start_time;
展示最近的五条慢查询
select * from mysql.slow_log order by start_time desc limit 5\G;