• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > 使用MySQL Slow Log来解决MySQL CPU占用高的问题

使用MySQL Slow Log来解决MySQL CPU占用高的问题

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了mysql slow log 分析,mysql slow log 汇总,log slow queries,slow query log file,slow query log 1等相关知识,希望本文的分享对您有所帮助
但是怎么找到是哪个SQL语句的执行时间过长呢?可以通过MySQL Slow Log来找,详解如下。

首先找到MySQL的配置文件my.cnf,根据不同版本的mysql开启慢查询的配置也不一样


mysql 5.0

[mysqld]
long_query_time = 1
log-slow-queries = /var/log/mysql/slow.log


mysql 5.1

[mysqld]
long_query_time = 1
slow_query_log=1
slow_query_log_file = /var/log/mysql/slow.log


long_query_time 是指执行超过多久的sql会被log下来,这里是1秒。
log-slow-queries和slow_query_log_file 设置把日志写在哪里


把上述参数打开,运行一段时间,就可以关掉了,省得影响生产环境

接下来就是分析了,我这里的文件名字叫 /var/log/mysql/slow.log。
先mysqldumpslow –help下,主要用的是


-s ORDER what to sort by (t, at, l, al, r, ar etc), ‘at' is default
-t NUM just show the top n queries
-g PATTERN grep: only consider stmts that include this string

-s,是order的顺序,说明写的不够详细,主要有
c,t,l,r和ac,at,al,ar,分别是按照query次数,时间,lock的时间和返回的记录数来排序,前面加了a的时倒序
-t,是top n的意思,即为返回前面多少条的数据
-g,后边可以写一个正则匹配模式,大小写不敏感的


mysqldumpslow -s c -t 20 /var/log/mysql/slow.log
mysqldumpslow -s r -t 20 /var/log/mysql/slow.log

上述命令可以看出访问次数最多的20个sql语句和返回记录集最多的20个sql。


mysqldumpslow -t 10 -s t -g “left join” /var/log/mysql/slow.log
这个是按照时间返回前10条里面含有左连接的sql语句。

用了这个工具就可以查询出来那些sql语句是性能的瓶颈,进行优化,比如加索引,该应用的实现方式等。 </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 使用MySQL Slow Log来解决MySQL CPU占用高的问题
  • mysql正确安全清空在线慢查询日志slow log的流程分享

相关文章

  • 2017-05-11MySQL 存储过程传参数实现where id in(1,2,3,...)示例
  • 2018-12-05mysql 索引分类以及用途分析
  • 2018-12-05mysql中常用的的内置函数
  • 2017-05-11在C#和MySQL中存取中文字符时避免乱码的方法
  • 2017-05-11MySQL中show命令方法得到表列及整个库的详细信息(精品珍藏)
  • 2017-05-11MySQL prepare语句的SQL语法
  • 2018-12-05MySQL 加密/压缩函数
  • 2017-05-11详细介绍基于MySQL的搜索引擎MySQL-Fullltext
  • 2018-12-05MySql安装与卸载详细教程
  • 2018-12-05Oracle Connect to Idle Instance解决方法

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 使用准则进行条件查询--1.5.常用的准则表达式
    • 将count(*)值写入另一个表中的方法
    • Mysql触发器在PHP项目中用来做信息备份、恢复和清空
    • MySQL与MSSQl使用While语句循环生成测试数据的代码
    • 安全快速修改Mysql数据库名的5种方法
    • mysqldump造成Buffer Pool污染的研究
    • 两种不停止 MySQL 服务增加从库的方式
    • .net2.0连接Mysql5数据库配置
    • 如何使用PDO查询mysql避免SQL注入的方法
    • mysql sql_mode="" 的作用说明

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有