转自:http://www.cnblogs.com/wenanry/archive/2011/05/12/2044157.html
mysql慢查询日志对于跟踪有问题的查询非常有用,可以分析出当前程序里有很耗费资源的sql语句,那如何打开mysql的慢查询日志记录呢?
其实打开mysql的慢查询日志很简单,只需要在mysql的配置文件里(windows系统是my.ini,linux系统是my.cnf)的[mysqld]下面加上如下代码:
log-slow-queries=/var/lib/mysql/slowquery.log
long_query_time=2
注:
log-slow-queries 设置把日志写在那里,为空的时候,系统会给慢查询日志赋予主机名,并被附加slow.log. /var/lib/mysql/slowquery.log为日志存放的文件的位置,一般这个目录要有mysql的运行帐号的可写权限,一般都将这个目录设置为mysql的数据存放目录
long_query_time=2中的2表示查询超过两秒才记录.
如果设置了参数log-long-format,那么所有没有使用索引的查询也将被记录。在文件my.cnf或my.ini中加入下面这一行可以记录这些查询
这是一个有用的日志。它对于性能的影响不大(假设所有查询都很快),并且强调了那些最需要注意的查询(丢失了索引或索引没有得到最佳应用)
# Time: 070927 8:08:52
# User@Host: root[root] @ [192.168.0.20]
# Query_time: 372 Lock_time: 136 Rows_sent: 152 Rows_examined: 263630
select id, name from manager where id in (66,10135);
这是慢查询日志中的一条,用了372秒,锁了136秒,返回152行,一共查了263630行
慢查询日志很多的时候,一条一条去看效率太低,mysql自带了分析的工具,使用方法如下:
命令行下,进入mysql/bin目录,输入mysqldumpslow –help或--help可以看到这个工具的参数
-s,是order的顺序,主要有c,t,l,r和ac,at,al,ar,分别是按照query次数、时间、lock的时间和返回的记录数来排序,前面加了a的是倒序
-t,是top n的意思,即为返回前面多少条的数据
-g,后边可以写一个正则匹配模式,大小写不敏感的
mysqldumpslow -s c -t 20 host-slow.log
mysqldumpslow -s r -t 20 host-slow.log
上述命令可以看出访问次数最多的20个sql语句和返回记录集最多的20个sql。
mysqldumpslow -t 10 -s t -g “left join” host-slow.log
这个是按照时间返回前10条里面含有左连接的sql语句。
分享到:
相关推荐
### MySQL慢查询日志的使用 #### 概述 MySQL慢查询日志是MySQL提供的一种日志记录方式,用于记录所有执行时间超过指定阈值(默认10秒)的SQL语句,帮助开发者和DBA定位数据库性能瓶颈,优化SQL查询效率。 #### ...
### MySQL慢查询日志详解 #### 一、慢查询日志概述 MySQL慢查询日志是一种重要的工具,用于记录执行时间超过预设阈值的SQL语句。通过对这些记录进行分析,可以找出数据库中的性能瓶颈,并据此采取相应的优化措施。...
Mysql 慢查询日志查看 Mysql 慢查询日志查看是指在 Mysql 数据库中,记录和分析执行时间较长的查询语句,以便优化数据库性能和提高查询效率。慢查询日志查看可以帮助数据库管理员和开发者快速地定位和优化数据库中...
MySQL 慢查询日志配置 MySQL 慢查询日志是 MySQL database management system 的一个重要功能,通过该功能可以记录执行时间超过某个阈值的 SQL 语句,从而帮助数据库管理员或开发人员对数据库的性能进行优化和改进...
### MySQL慢查询日志:性能分析的利器 #### 一、引言:慢查询日志的重要性 在数据库管理中,性能分析是一个至关重要的过程。随着业务的发展和数据量的增长,数据库面临的压力也在不断增加,这就需要我们不断寻找...
MySQL的慢查询日志是数据库管理员用于识别...总之,MySQL慢查询日志是数据库性能调优的重要入口,通过分析并优化慢查询,可以有效地提升系统的整体性能。在日常运维中,定期检查和处理慢查询日志是一项必不可少的工作。
### MySQL慢查询日志详解 #### 一、慢查询日志简介 MySQL慢查询日志是一种重要的工具,用于记录执行时间超过指定阈值的SQL语句。这些记录可以帮助数据库管理员和开发人员识别并优化那些效率较低的查询,从而提高...
mysqldumpslow是一个用于分析MySQL慢查询日志的工具,它可以按时间、行数、读取的数据量等进行排序,帮助我们快速找到那些最耗时的查询,进一步进行优化。 总的来说,通过对MySQL慢查询日志的有效利用和参数配置,...
首先,要了解MySQL慢查询日志的概念。慢查询日志记录了所有执行时间超过`long_query_time`值的SQL语句。默认情况下,`long_query_time`的值设置为10秒,意味着所有运行时间超过10秒的SQL语句都会被记录下来。然而,...
mysqllog 该软件包提供了一个简单MySQL慢查询日志解析器。示例:从stdin解析日志并将事件打印为JSON package mainimport ("bufio""encoding/json""fmt""os""github.com/Preetam/mysqllog")func main () {p := & ...
MySQL慢查询日志是数据库管理员用来追踪和优化性能的关键工具。它记录那些执行时间超过预设阈值的查询,帮助找出系统中的性能瓶颈。在本教程中,我们将详细介绍如何配置和使用MySQL慢查询日志。 首先,开启慢查询...
"cpp-Slowquery图形化显示MySQL慢日志工具" 指的是一款基于C++语言开发的工具,名为Slowquery,它的主要功能是解析并以图形化方式展示MySQL数据库的慢查询日志。这个工具帮助数据库管理员更直观地理解和分析MySQL...
以下是对MySQL慢查询日志相关知识点的详细说明: 1. **启用与配置慢查询日志** - `slow_query_log` 参数:决定是否开启慢查询日志,值为1表示开启,0表示关闭。 - `log_slow_queries`(5.6以下版本)或`slow_...
查看开启状态查看日志文件查看慢查询时间查看日志保存方式查看有多少条慢查询记录修改配置文件配置好后需要重启mysql,试试下面的慢查询:查看慢日志文件:mysql
以下是关于如何开启、查看和分析MySQL慢查询日志的详细说明: 首先,要在MySQL中启用慢查询日志,你需要编辑MySQL配置文件。在Windows系统中,该文件通常是`my.ini`,而在Linux系统中则是`my.cnf`。在`[mysqld]`...
MySQL慢查询日志是数据库管理员用来优化SQL性能的重要工具,它记录了执行时间超过预设阈值的所有查询。而Elasticsearch作为一个强大的全文搜索引擎和实时数据分析平台,常用于日志分析、监控和可视化。本项目"mysql-...
### MySQL慢查询日志的作用与使用详解 #### 一、慢查询日志概述 在MySQL数据库管理中,慢查询日志是一项重要的诊断工具,它能够帮助数据库管理员和开发者识别并解决那些执行时间过长的SQL语句所带来的性能问题。...
- **高性能**:MySQL以其快速的查询处理和良好的性能而闻名。 - **可靠性**:MySQL提供了多种机制来确保数据的完整性和可靠性,包括事务支持、备份和恢复功能。 - **易于使用**:MySQL提供了简单直观的界面和丰富的...