mysql服务器cpu爆满解决办法

2021年11月21日 阅读数:7
这篇文章主要向大家介绍mysql服务器cpu爆满解决办法,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

mysql服务器cpu爆满解决办法_sql

mysql服务器cpu爆满解决办法_mysql_02

碰到一个mysql cpu爆满的问题,简单记录下mysql

mysql服务器cpu爆满解决办法_mysql_03

步骤:sql

一、经过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)

二、先杀掉该进程ide

mysql> kill 19;
Query OK, 0 rows affected (0.01 sec)

三、经过慢查询日志找到具体的sql语句优化

开启慢查询:spa

[mysqld]
slow_query_log=1 #开启慢查询
long_query_time=5 #慢查询时间
log-slow-queries = /var/log/mysql/slowquery.log #需有写入权限

四、使用explain 优化sql语句,3d

引发cpu太高的sql通常集中在order by、group by、批量insert、嵌套子查询等sql语句中日志