西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > 开发教程 > mysql教程 >

mysql服务器cpu爆满解决办法

时间:2016-09-15 23:10来源:未知 作者:好模板 点击:
碰到一个mysql cpu爆满的问题,简单记录下 步骤: 1、通过show processlist找到耗时最长的 mysql show processlist; +----+------+-----------------+------+---------+------+--------------+---------------------------------
碰到一个mysql cpu爆满的问题,简单记录下
 
mysql服务器cpu爆满解决办法
步骤:
1、通过show processlist找到耗时最长的
mysql> show processlist;
+----+------+-----------------+------+---------+------+--------------+------------------------------------------------------------------------------------------------------+
| Id | User | Host            | db   | Command | Time | State        | Info                                                                                                 |
+----+------+-----------------+------+---------+------+--------------+------------------------------------------------------------------------------------------------------+
| 19 | root | localhost:60604 | big  | Query   | 1533 | Sending data | SELECT count(*) num,city FROM `ih_user_temp` where city in (select city from ih_user_temp where city |
| 25 | root | localhost       | NULL | Query   |    0 | NULL         | show processlist                                                                                     |
+----+------+-----------------+------+---------+------+--------------+------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
 
 
2、先杀掉该进程
mysql> kill 19;
Query OK, 0 rows affected (0.01 sec)
 
3、通过慢查询日志找到具体的sql语句
开启慢查询:
 
[mysqld]  
slow_query_log=1  #开启慢查询  
long_query_time=5 #慢查询时间  
log-slow-queries = /var/log/mysql/slowquery.log #需有写入权限  
 
4、使用explain 优化sql语句,参考:mysql使用explain优化sql语句
引起cpu过高的sql一般集中在order by、group by、批量insert、嵌套子查询等sql语句中
 
5、调整my.cnf的query_cache_size和tmp_table_size的值
(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容