1、top命令查看cpu占用情况
由于服务器是双核,可以看到mysql服务占用cpu基本已经爆满。
2、执行 mysql -u root -p 进入mysql,输入show full processlist; 查看正在执行的sql语句
mysql -u root -p
show full processlist;
查到导致cpu飙升的sql:
3、杀掉执行这些sql的进程
mysql> kill 504;
Query OK, 0 rows affected (0.00 sec)
mysql> kill 509;
Query OK, 0 rows affected (0.00 sec)
4、结果
可以看到mysql占用cpu已经正常,至于执行的sql,一般是执行效率很低,需要优化。优化过程 :略。
另记录查看mysql慢日志步骤:
1、查看mysql日志记录是否开启:show variables like 'slow_query_log';
没开启的话先开启日志记录: set global slow_query_log = on;
2、查看记录慢sql的时间:show global variables like 'long_query_time';
默认是10秒,可以根据需要修改,这里修改为执行时间超过5秒的sql被记录:
set global long_query_time =5;
3、查看日志存放位置:show variables like 'slow_query_log_file';
这样,sql执行时间超过5秒的都会被记录到日志中,以供优化。