一.什么是慢查询日志
1.当查询超过一定时间没有返回结果的时候,才会记录进慢查询日志
2.慢查询日志可以帮助dba找出执行效率缓慢的sql语句,为数据库的优化工作提供帮助
3.慢查询日志默认是不开启的,也没有必要一直开启
4.当需要进行采样分析时手工开启
二常用的慢查询日志相关参数
1.修改以下配置后,需要重启数据库服务使其生效
2.slow_query_log=on|off #是否开启慢查询日志
3.slow_query_log_file=filename
指定慢查询日志保存路径及文件名,不设置则使用默认值,默认存放位置为数据库文件所在目录下,名次为hostname-slow.log
4.long_query_time=2
指定多少秒未返回结果的查询语句属于慢查询
5.long-queries-not-using-indexes
记录所有没有使用到索引的查询语句
6.min_examined_row_limit=1000
记录那些由于查找了多于1000次而引发的慢查询
7.log-slow-admin-statements
记录那些慢的optimize table,analyze table 和 alter table语句
8.log-slow-slave-statements
记录由slave导致的慢查询
三.不重启修改慢查询的配置
1.set @@global.slow_query_log=1
2.set @@global.long_query_time=3
3.其他参数可以通过以下命令查阅:
show variables like '%slow%';
四.常见的慢查询分析工具
1.mysqldumpslow(mysql自带工具)
例如:mysqldumpslow /var/lib/mysql/localhost-slow.log
2.mysqlsla
hackmysql.com出品的一款分析工具,可以在其网站上下载到,或者在系统提示符下
#wget http://hackmysql.com/scripts/mysqlsla
3.percona-toolkit中的pt-query-digest
安装脚本:yum install percona-toolkit
查看慢查询日志 例如:pt-query-digest /var/lib/mysql/localhost-slow.log
----------------------------------------------------------------------------------------------
percona所需要的依赖包(本机已经安装其相关的依赖包,所以直接yum安装即可)
percona-toolkit
perI-IO-Socket-SSL
perI-Net-LibIDN
perI-Net-SSLeay
五.删除慢查询日志
慢查询日志会不断的增长,因此往往仅仅在在做例如采样分析这样的特别工作时才开启,其他的时候则关闭,无用的慢查询日志要记得及时删除
mysql学习------MySQL慢查询日志的更多相关文章
-
MySQL学习笔记十:日志管理
1.错误日志文件 MySQL的错误日志文件记录错误信息,还会记录mysqld进程的关闭和启动的信息,但也不是什么错误信息都会记录,只记录mysqld进程运行过程中发生的关键性错误. 错误日志的启动,可 ...
-
MySQL 5.7 启用查询日志
MySQL版本:5.7 新版本的 my.ini 文件改动了,导致原先启用查询日志的方法不再适用 新版本的启用方法如下: 1. 修改 C:\ProgramData\MySQL\MySQL Server ...
-
mysql中的慢查询日志
首先我们看一下关于mysql中的日志,主要包含:错误日志.查询日志.慢查询日志.事务日志.二进制日志: 日志是mysql数据库的重要组成部分.日志文件中记录着mysql数据库运行期间发生的变化:也就是 ...
-
MySQL数据库之慢查询日志
一.开启慢查询日志 通过show global variables like '%slow%' #查看MySQL慢查询日志是否开启 [root@mysqlmaster01 ~]# mysql --lo ...
-
MySQL学习-MySQL内置功能_索引与慢查询
1.索引基础 1.1 介绍 (1.)为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂 ...
-
MySQL优化之慢查询日志
慢查询日志概述 所谓慢查询日志,就是用于记录MySQL中响应时间超过设定阈值的SQL语句,通过打开慢查询开关,MySQL会将大于阈值的SQL记录在日志中,以便于分析性能. 慢查询日志选项默认是关闭的, ...
-
mysql数据库开启慢查询日志
修改配置文件 在配置文件my.ini中加上下面两句话 log-slow-queries = C:\xampp\mysql_slow_query.log long_query_time=3 第一句使用来 ...
-
mysql中开启慢查询日志
开启慢查询日志,需要在配置文件my.ini中配置. long_query_time = 1 #设置慢查询时间,配置是下划线log-slow-queries = d:\mysql5\logs\mysql ...
-
MySQl学习-——Mysql体系结构与Mysql存储引擎
Mysql体系结构与Mysql存储引擎 Mysql体系结构 mysql体系结构图:
随机推荐
-
nios II--实验3——led 100M硬件部分
led_100M 硬件开发 新建原理图 参照实验二(led) QSys调用模块 参照实验二(led) 原理图添加IP模块 参照实验二(led),在调用PLL的时候需要修改系统和SDRAM的时钟频率为1 ...
-
#ifdef 和 #if defined 的区别 -- 转
#ifdef 和 #if defined 的区别在于,后者可以组成复杂的预编译条件,比如 #if defined (AAA) && defined (BBB) xxxxxxxxx #e ...
-
基于AngularJS的过滤与排序【转载】
程序设计分析 首先,如果要是先查询过滤,就要使用到AngularJS中的 过滤器filter 了. 直接在表达式的后面使用管道命令符 | ,按照下面的写法就可以达到一个过滤的效果: {{ person ...
-
Makefile学习总结
Makefile用法分析 在linux开发中,应用程序的编译基本都采用GNU的make工具,而make搭配Makefile来实现工程代码的编译,在越是大型复杂的项目中,make的强悍之处越是明 ...
-
FPGA调试技巧
FPGA调试技巧 八月,一直在debug, 编译,查信号,几乎没机会,也没心思停留下来看点东西,静心思考,做点笔记.今天,在硬盘上翻到了保存已久,但一直没想起来读的一本手册.这是我初入职场,决定从硬件 ...
-
使用EF操作不同数据库(以SQLite为例)
最近一直在和数据库作对. 从安卓平台上给了我个SQLite数据库,要求程序能够读取不同的文件.由于字段实在太多,不愿意直接使用原来直接读取datatable的方式来做,手动写映射太痛苦...于是想起来 ...
-
iOS 结构化数据访问
一.介绍 在存储大量数据时,除了最基本的打开文件,读取文件,存盘等这些没有明确管理机制的方式来存储数据外,iOS还提供了另外几种重要的数据存储方式.虽然这些方式最后还是将数据存储在文件中,但是iOS以 ...
-
复习:JSP基本的语法(JSP凝视 + JSP指令 + JSP脚本元素 + JSP动作元素)
JSP原理: 1. 对于每个请求.jsp容器都会创建一个新的线程来处理它: 2. Servlet容器载入jsp后转换成的servlet(.class文件)是常驻内存的,所以对应速度一般比較 ...
-
socket编程时使用了inet_ntoa函数,存储到链表中的数据总是自动改变
这和inet_ntoa的返回值有关系: 函数声明:char *inet_ntoa (struct in_addr); 返回点分十进制的字符串在静态内存中的指针. 所在头文件:<arpa/inet ...
-
android--------AndroidStudio 关闭 Install Run
前面讲热修复的时候说到了一个 AndroidStudio关闭Instant Run的问题 ,今天来简单的写一下. Android Studio 工具中是有很多好东西的,要全部的知道的话,还是要下点功夫 ...