前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql服务器cpu爆满解决办法

mysql服务器cpu爆满解决办法

作者头像
码农编程进阶笔记
发布2021-11-19 15:17:53
1.2K0
发布2021-11-19 15:17:53
举报

点击上方蓝字关注我们

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

步骤:

1、通过show processlist找到耗时最长的

代码语言:javascript
复制
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、先杀掉该进程

代码语言:javascript
复制
mysql> kill 19;
Query OK, 0 rows affected (0.01 sec)

3、通过慢查询日志找到具体的sql语句

开启慢查询:

代码语言:javascript
复制
[mysqld]
slow_query_log=1  #开启慢查询
long_query_time=5 #慢查询时间
log-slow-queries = /var/log/mysql/slowquery.log #需有写入权限

4、使用explain 优化sql语句,

引起cpu过高的sql一般集中在order by、group by、批量insert、嵌套子查询等sql语句中

5、调整my.cnf的query_cache_size和tmp_table_size的值

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农编程进阶笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档