mysql服务器CPU利用率过高排查过程

 更新时间:2025年12月15日 08:35:53   作者:运维开发那些事  
文章介绍了通过监控平台发现MySQL服务器CPU利用率过高的问题,通过排查和分析,找到一条执行时间过长的SQL语句,并通过EXPLAIN分析和优化该SQL,最终解决了CPU利用率过高的问题

背景

监控平台告警mysql服务器CPU利用率过高。

当时第一反应是平时的CPU利用率一直都在50%以下,怎么会突然过高呢?怀疑是有某些sql语句导致的。

排查过程

1、通过ps命令查找mysql进程ID

ps aux |grep mysqld

假设找到的pid为1796

2、使用top查找高CPU利用率的线程ID

top -Hp 1796

记录高CPU利用率的线程ID,例如:12345

3、找到线程对应的sql语句

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE ID = (SELECT THREAD_ID FROM performance_schema.threads a WHERE THREAD_OS_ID = 12345);

看到有一条长sql执行了2min还没结束。

结论:是这条sql导致的CPU利用率过高

4、sql优化

通过EXPLAIN去分析查询sql

  • 减少查询行数
  • 使用索引查询

总结

通过利用率过高的mysql线程id找到 对应的执行sql ,然后通过EXPLAIN去优化查询语句。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL  Lock wait timeout exceeded错误解决

    MySQL  Lock wait timeout exceeded错误

    “Lock wait timeout exceeded” 是一个常见的MySQL错误,指示了潜在的性能问题或死锁,本文就来介绍一下如何解决,感兴趣的可以了解一下
    2024-05-05
  • MySQL统计今日生成create_time的数据量的方法小结

    MySQL统计今日生成create_time的数据量的方法小结

    create_time通常是一个用于表示某个实体或事件创建时间的字段,在数据库设计、日志记录或许多软件系统中常见,它存储的是一个日期或时间戳,记录了数据首次被创建的具体时刻,本文介绍了MySQL统计今日生成create_time的数据量的方法,需要的朋友可以参考下
    2024-08-08
  • MySQL数据库约束深入详解

    MySQL数据库约束深入详解

    这篇文章主要介绍了MySQL数据库约束,在MySQL数据库中,约束是用来限制进入表中的数据类型的一种技术,通过使用约束,可以确保数据的准确性、完整性和可靠性,需要的朋友可以参考下
    2025-05-05
  • 浅谈MySQL中字符串匹配的N种姿势

    浅谈MySQL中字符串匹配的N种姿势

    在数据库查询中,字符串匹配是使用频率最高的操作之一,本文将深入解析MySQL中8种字符串匹配技术的原理与应用场景,感兴趣的小伙伴可以了解下
    2025-07-07
  • mysql中的不等于实例详解

    mysql中的不等于实例详解

    这篇文章主要介绍了mysql中的不等于实例详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • mac 装5.6版本mysql 设置密码的简易方法

    mac 装5.6版本mysql 设置密码的简易方法

    这篇文章主要介绍了mac 装5.6版本mysql 设置密码的简易方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-05-05
  • 详解MySQL8.0 密码过期策略

    详解MySQL8.0 密码过期策略

    这篇文章主要介绍了MySQL8.0 密码过期策略的相关资料,帮助大家更好的理解和使用MySQL8.0的新功能,感兴趣的朋友可以了解下
    2020-11-11
  • mysql数据库和oracle数据库之间互相导入备份

    mysql数据库和oracle数据库之间互相导入备份

    今天小编就为大家分享一篇关于mysql数据库和oracle数据库之间互相导入备份,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • mysql同步问题之Slave延迟很大优化方法

    mysql同步问题之Slave延迟很大优化方法

    这篇文章主要介绍了mysql同步问题之Slave延迟很大优化方法,需要的朋友可以参考下
    2016-05-05
  • 磁盘写满导致MySQL复制失败的解决方案

    磁盘写满导致MySQL复制失败的解决方案

    这篇文章主要介绍了磁盘写满导致MySQL复制失败的解决方案,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下
    2021-04-04

最新评论