MySQL占用CPU过高排查过程及可能优化方案

 更新时间:2024年01月14日 16:06:53   作者:风暴飘絮  
这篇文章主要介绍了MySQL占用CPU过高排查过程及可能优化方案,具有很好的参考价值,希望对大家的学习或工作有所帮助,感兴趣的朋友可以参考下

1.查看生产DB服务器top列表,

执行 top 命令

2.使用root用户登录mysql

执行 show full processlist 查看慢查询,反复执行,如果发现一直有select 查询语句存在,为了缓解DB服务器压力,直接使用kill命令杀掉

kill 慢查询的id

如果服务器压力缓解,恢复正常。

3.查询是否有锁问题

show OPEN TABLES where In_use > 0;

查看正在锁的事务

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;

查看等待锁的事务

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;

4.杀掉当前所有的MySQL连接

mysqladmin -uroot -p processlist|awk -F "|" '{print $2}' |xargs -n 1 mysqladmin -uroot -p kill

Mysql占用CPU过高如何优化

1.打开慢查询日志,查询是否是某个SQL语句占用过多资源,如果是的话,可以对SQL语句进行优化,比如优化 insert 语句、优化 group by 语句、优化 order by 语句、优化 join 语句等等;

2.考虑索引问题,使用explain关键字分析SQL

3.定期分析表,使用optimize table;

4.优化数据库对象;

5.考虑是否是锁问题;

6.调整一些MySQL Server参数,比如key_buffer_size、table_cache、innodb_buffer_pool_size、innodb_log_file_size等等;

7.如果数据量过大,可以考虑使用MySQL集群或者搭建高可用环境。

以上就是MySQL占用CPU过高排查过程及可能优化方案的详细内容,更多关于MySQL占用CPU过高的资料请关注脚本之家其它相关文章!

相关文章

  • MySQL创建用户的三种方法

    MySQL创建用户的三种方法

    在对MySQL的日常管理和操作中,为了避免有人恶意使用root用户控制数据库,尽可能地不用或少用 root 用户登录系统,本文主要介绍了MySQL创建用户的三种方法,感兴趣的可以了解一下
    2023-08-08
  • MySQL四种备份表的实现方式

    MySQL四种备份表的实现方式

    本文主要介绍了MySQL四种备份表的实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-02-02
  • 优化 MySQL 3 个简单的小调整

    优化 MySQL 3 个简单的小调整

    本文给大家带来了优化 MySQL 3 个简单的小调整,需要的朋友参考下
    2018-02-02
  • MySQL笔记之别名的使用

    MySQL笔记之别名的使用

    在查询时,可以为表和字段取一个别名。这个别名可以代替其指定的表和字段
    2013-05-05
  • SQL语句中EXISTS的详细用法大全

    SQL语句中EXISTS的详细用法大全

    最近重新用到了exists关键字,对于其基本用法记录一下,下面这篇文章主要给大家介绍了关于SQL语句中EXISTS的详细用法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • MySQL RC事务隔离的实现原理

    MySQL RC事务隔离的实现原理

    这篇文章主要介绍了MySQL RC事务隔离的实现,Read Committed,事务运行期间,只要别的事务修改数据并提交,即可读到人家修改的数据,所以会有不可重复读、幻读问题,下文相关介绍需要的朋友可以参考下
    2022-03-03
  • MySQL数据库定时任务举例讲解

    MySQL数据库定时任务举例讲解

    最近项目里面的后台需要用到定时任务,而MySQL从5.0开始自带了定时事件操作,所以学习下并做下记录,下面这篇文章主要给大家介绍了关于MySQL数据库定时任务的相关资料,需要的朋友可以参考下
    2023-06-06
  • SQL Server索引设计基础知识详解使用

    SQL Server索引设计基础知识详解使用

    为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上创建索引和创建什么类型的索引。索引设计不合理或者缺少索引都会对数据库和应用程序的性能造成障碍。高效的索引对于获得良好的性能非常重要。设计索引时,应该考虑相应准则
    2023-04-04
  • mysql in索引慢查询优化实现步骤解析

    mysql in索引慢查询优化实现步骤解析

    这篇文章主要为大家介绍了mysql in慢查询优化实现步骤的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • 查看MySQL初始密码并修改的正确方式

    查看MySQL初始密码并修改的正确方式

    这篇文章主要给大家介绍了关于查看MySQL初始密码并修改的正确方式,MySQL是一款广泛使用的开源关系型数据库管理系统,安装后找回初始密码是MySQL使用中的一个基础问题,需要的朋友可以参考下
    2023-10-10

最新评论