当前位置: 首页 > 编程日记 > 正文

mysql 开启慢查询命令【转】

以MySQL 5.1.36为例:
在slow_query_log (注意log_slow_querys参数已经废弃)值为ON的情况下(默认为OFF),当一条SQL语句执行的时间超过了 long_query_time 预设的时间(默认为10s,同时精确到微秒)时,默认(log_output值为FIFL时)就会把这种慢查询记录 到:slow_query_log_file值所指定的文件中。

mysql> select @@global.log_output;
+---------------------+
| @@global.log_output |
+---------------------+
| FILE                |
+---------------------+
1 row in set (0.00 sec)

注意在MySQL5.1就开始支持把慢查询的日志记录放到mysq.slow_log中,但需要设置log_output变量值为TABLE:
mysql> set @@global.log_output='TABLE';
Query OK, 0 rows affected (0.00 sec)

mysql> desc mysql.slow_log;
+----------------+------------------+------+-----+-------------------+-----------------------------+
| Field          | Type             | Null | Key | Default           | Extra                       |
+----------------+------------------+------+-----+-------------------+-----------------------------+
| start_time     | timestamp        | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| user_host      | mediumtext       | NO   |     | NULL              |                             |
| query_time     | time             | NO   |     | NULL              |                             |
| lock_time      | time             | NO   |     | NULL              |                             |
| rows_sent      | int(11)          | NO   |     | NULL              |                             |
| rows_examined  | int(11)          | NO   |     | NULL              |                             |
| db             | varchar(512)     | NO   |     | NULL              |                             |
| last_insert_id | int(11)          | NO   |     | NULL              |                             |
| insert_id      | int(11)          | NO   |     | NULL              |                             |
| server_id      | int(10) unsigned | NO   |     | NULL              |                             |
| sql_text       | mediumtext       | NO   |     | NULL              |                             |
+----------------+------------------+------+-----+-------------------+-----------------------------+
11 rows in set (0.01 sec)

注意,文件记录和写表记录只会有一种生效。


修改之前:
mysql> show variables like '%slow%';
+---------------------+------------------------------------------------+
| Variable_name       | Value                                          |
+---------------------+------------------------------------------------+
| log_slow_queries    | OFF                                            |
| slow_launch_time    | 2                                              |
| slow_query_log      | OFF                                            |
| slow_query_log_file | /usr/local/mysql-5.1.36/var/localhost-slow.log |
+---------------------+------------------------------------------------+
mysql>
4 rows in set (0.00 sec)

注意这个时候localhost-slow.log文件是不存在的:
mysql> system cat /usr/local/mysql-5.1.36/var/localhost-slow.log
cat: /usr/local/mysql-5.1.36/var/localhost-slow.log: No such file or directory

修改slow_query_log的方法:
mysql> warnings;
Show warnings enabled.
mysql> set @@global.log_slow_queries=ON;
Query OK, 0 rows affected, 1 warning (0.01 sec)
Warning (Code 1287): The syntax '@@log_slow_queries' is deprecated and will be removed in MySQL 7.0. Please use '@@slow_query_log' instead
注意已经不再使用log_slow_queries参数,用slow_query_log替代,这样修改slow_query_log时,log_slow_queries也会被隐性地修改:

mysql> set @@global.slow_query_log=ON;
Query OK, 0 rows affected (0.00 sec)

修改之后:
mysql> show variables like '%slow%';
+---------------------+------------------------------------------------+
| Variable_name       | Value                                          |
+---------------------+------------------------------------------------+
| log_slow_queries    | ON                                             |
| slow_launch_time    | 2                                              |
| slow_query_log      | ON                                             |
| slow_query_log_file | /usr/local/mysql-5.1.36/var/localhost-slow.log |
+---------------------+------------------------------------------------+
4 rows in set (0.00 sec)

这时localhost-slow.log文件已经建立:
mysql> system cat /usr/local/mysql-5.1.36/var/localhost-slow.log
/usr/local/mysql-5.1.36/libexec/mysqld, Version: 5.1.36-log (Source distribution). started with:
Tcp port: 3306  Unix socket: /tmp/mysql.sock
Time                 Id Command    Argument

分析时我们可以直接查询慢查询日志,也可以通过mysqldumpslow命令(推荐)来解析这个文件:
[root@localhost var]# mysqldumpslow localhost-slow.log
Reading mysql slow query log from localhost-slow.log
Count: 1  Time=0.00s (0s)  Lock=0.00s (0s)  Rows=0.0 (0), 0users@0hosts

我们可以通过sleep函数来做简单的测试:
如:select sleep(11);

转载于:https://www.cnblogs.com/dhb133/archive/2011/01/06/1927546.html

相关文章:

不用开着电脑,如何将脚本代码放到服务器上?

作者 | sergiojune 转载自公众号日常学python(ID:daily_learn) 程序员转行学什么语言? https://edu.csdn.net/topic/ai30?utm_sourcecsdn_bw 上次弄了个机器人,反响挺不错的,我也挺满意的,因为这个我也初…

【Qt】ubuntu14.04+qt5.6+opencv2.4编程注意事项

cv::imshow();//不能在QT中使用该接口来创建窗口 否侧会报错: (:1103): Gtk-WARNING **: gtk_disable_setlocale() must be called before gtk_init() (:1103): GLib-CRITICAL **: Source ID 52 was not found when attempting to remove it 参见:ht…

Docker完整建站详介

2019独角兽企业重金招聘Python工程师标准>>> 一,在主服务器上操作:安装完成docker;略 二,查看镜像 [rootlocalhost ~]#docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE centos/shop2.web.top latest 8fc9b211671a 14…

word2007启用宏

word选项-》信任中心->启用宏

用Python分析《工作细胞》的一万多条评论后,非漫迷也要入番了

作者 | 量化小白一枚,上财研究生在读,专注于数据分析与量化投资 来源 | 量化小白上分记(公众号 id:quanthzp) 责编 | Jane 人工智能的现状及今后发展趋势如何? https://edu.csdn.net/topic/ai30?utm_so…

【VritualBox】虚拟机VirtualBox中ubuntu下加载USB设备报错:busy with a previous request.Plaease try again later

1、问题描述 在VirtualBox中添加USB设备时,报错: USB device with ‘SanDisk Crurer Blade’UUID {*} is busy with a previous request.Plaease try again later 返回 代码: E_INVALIDARG(0x80070057) 组件: HostUSBDeviceWrap 界面: I…

谈谈动态规划的思想

动态规划( dynamic programming )算法是解决多阶段决策过程最优化问题的一种常用方法,难度比较大,技巧性也很强。利用动态规划算法,可以优雅而高效地解决很多贪婪算法或分治算法不能解决的问题。动态规划算法的基本思想…

关于ARM启动的一篇文章

时间:2010-12-28 09:22:36 来源:老古开发网 作者:写的不错, 应该对大家有所帮助: 基于ARM的芯片多数为复杂的片上系统,这种复杂系统里的多数硬件模块都是可配置的,需要由软件来设置其需要的工作状态。因此在用户的应用程序之前,需…

【Qt】QImage加载bmp位图数据

QImage直接加载bmp文件 QImage image(image.bmp); QImage加载已经获取的bmp数据 unsigned char *imageData = NULL; int imageLen = (102*3+2)*126+54; imageData = (unsigned char*)malloc(imageLen); FILE*stream; if((stream=fopen("image.bmp","r")…

CVPR 2019审稿满分论文:中国博士提出融合CV与NLP的视觉语言导航新方法

整理 | 刘畅、Jane 责编 | Jane 出品 | AI科技大本营(公众号id:rgznai100) 如何挑战百万年薪的人工智能! https://edu.csdn.net/topic/ai30?utm_sourcecsdn_bw CVPR 2019 接收论文编号公布以来,AI科技大本营开始陆续…

有无目标的人生差10倍!赶紧和娃把新年计划做起来

春节连续几天朋友圈都是吃吃喝喝、陪父母陪娃、游山玩水,一派国泰民安的祥和状。昨晚一大学闺蜜突发感概,哎, 2018都快过1/6了,新年计划还没开始做,难道还是只能一声轻叹“今年一定是非常有意义的一年”吗?…

installshield 2009实现安装包自动编译

1.根据当前日期,在服务器上建立一个以日期命名的文件夹,删除本地现有的文件夹并下载最新的文件到本地call mydate %DATE%Rem Copy files from common folder on the designer to the common folder on my computerrd "F:\MySourceFile\MMS2.0\progr…

首发 | 旷视14篇CVPR 2019论文,都有哪些亮点?

译者 | Linstancy 责编 | Jane 出品 | AI科技大本营(公众号id:rgznai100) 回顾 CVPR 2018 ,旷视科技有 8 篇论文被收录,如高效的移动端卷积神经网络 ShuffleNet、语义分割的判别特征网络 DFN、优化解决人群密集遮挡问…

【Qt】Qt多屏编程,在指定显示屏上显示指定对话框

问题描述 主机连接两个显示器,一主一副,要求主显示器显示主界面,副显示器显示一对话窗口 解决方法 使用QDesktopWidget QDialog dlg = new QDialog(this); QDesktopWidget* desktop = QApplication::desktop(); this->setGeometry(desktop->screenGeometry(0)); …

Kruskal算法 - C语言详解

最小生成树 在含有n个顶点的连通图中选择n-1条边,构成一棵极小连通子图,并使该连通子图中n-1条边上权值之和达到最小,则称其为连通网的最小生成树。 例如,对于如上图G4所示的连通网可以有多棵权值总和不相同的生成树。 克鲁斯卡尔…

JavaScript初学者应注意的七个细节

每种语言都有它特别的地方,对于JavaScript来说,使用var就可以声明任意类型的变量,这门脚本语言看起来很简单,然而想要写出优雅的代码却是需要不断积累经验的。本文利列举了JavaScript初学者应该注意的七个细节,与大家分…

开学季,教你用Python画大学教室座位神分区图!网友直呼“中枪”

作者 | 丁彦军转载自恋习Python(ID:sldata2017)我们上过大学的朋友们都知道,大学没有固定教室也没有固定的座位,所以大家可以随便找个自己喜欢的位置坐下。别看这些不起眼的座位,感觉没什么差别。其实,它们…

【Qt】在ubuntu上打包发布Qt程序,可以不依赖Qt环境

参考博客 https://blog.csdn.net/theArcticOcean/article/details/68069964 https://blog.csdn.net/hjl_1991/article/details/50365927 亲测过程 1、编译处release版本的Qt程序 2、创建打包文件夹 mkdir release 3、进入文件夹,将要打包的程序拷贝到文件中 cd r…

Smart template的控件能否当成普通控件来用

我的同事问过我这个问题: 只要弄清楚Smart control的原理,就能回答这个问题。 答案是: smart control可以像普通的控件一样在xml view中被定义和使用,但是必须结合OData annotation,否则没有意义。以Smart control里的Smart field…

60行代码爬取知乎“神回复”,句句戳中泪点

作者 | shenzhongqiang转载自Python与数据分析(ID:PythonML)之前的一篇文章《爬了下知乎神回复,笑死人了~》发布后,引发了大家热烈的反响。很多朋友觉得很神奇,在后台问强哥是怎么做到的,有的朋友还表示不太…

IDC行业前景,机遇与挑战并存

中国互联网信息中心(CNNIC)发布了截至2010年6月底中国互联网发展基本情况的报告。在这半年一次的例行报告中,照例有些鼓舞人心的好消息。报告显示中国网民规模达到4.2亿,较09年底增长2.9%,宽带普及率达到98.1%,宽带网民规模为3.64…

【Ubuntu】Ubuntu14.04添加163的源

1、简单的两步 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo wget -O /etc/apt/sources.list http://mirrors.163.com/.help/sources.list.trusty sudo apt update2、注意 这是更改Ubuntu14.04的源,针对ubuntu其它版本参见博客 【Ubuntu】将Ub…

用模板实现单例模式(线程安全)、模板方式实现动态创建对象

一、用模板实现单例模式 在前面的文章中,用过多种方法实现单例模式,现在用模板方式来实现: 为了实现线程安全,需要在linux 下使用pthread_mutex_t 加锁,请使用g 编译并需要链接 -lpthread 使用的是double-check lock&a…

推荐系统召回四模型之全能的FM模型

作者 | 张俊林作者简介:中国中文信息学会理事,中科院软件所博士。目前在新浪微博 AI Lab 担任资深算法专家。在此之前,张俊林曾经在阿里巴巴任资深技术专家并负责新技术团队,以及在百度和用友担任技术经理及技术总监等职务。同时他…

MIDP2.0引入了Push注册机制

PushMIDP2.0引入了Push注册机制,作为一种允许应用被自动启动的方法,由预先设置的警告或者经inbound连接收到的消息。 通过这种方法,MIDlets可以用来设置处理规则事件,如定时从服务器上同步数据,或者非规则事件如一个突…

【OpenCV】cv::Mat和std::vector之间的相互转换

Mat转换成Vector 以vector 为例,其它模型类似 vector getVector(const Mat & a) { Mat b; a.convertTo(b, CV_64F); return (vector)(b.reshape(1, 1)); } Vector转换成Mat 使用Mat的构造函数 std::vector responses; cv::Mat tres; tres Mat(resp…

mysql数据库密码忘记恢复脚本

#!/bin/bashread -p "请输入你要修改的密码:" passwordskipawk /skip-grant-tables/{print $1} /etc/my.cnfif [ ! -n "$skip" ];then ##判断是否有skip-grant-tablessed -i /^[mysqld]/askip-grant-tables /etc/my.cnf ##变量为空就执行插入el…

-16 | 12 等于多少

2019独角兽企业重金招聘Python工程师标准>>> 今天同事问到一个问题 -16 | 12 等于多少? 从教材中知道,二进制数的第一位是符号位,正数为0,负数为1,再根据取反的定义可得到如下算式(假设整形是占…

深度学习在自动驾驶感知领域的应用

程序员转行学什么语言? https://edu.csdn.net/topic/ai30?utm_sourcecsdn_bw 本次直播课程是由深度学习资深研究者-杨阳博士从百度Apollo自动驾驶感知技术出发,讲解环境感知中深度学习的实用性与高效性。 课程从Apollo 3.5感知技术介绍、自动驾驶中的目…

【Qt】QObject::moveToThread 总结

原型 void QObject::moveToThread(QThread *targetThread) 功能 将QObject及其孩子移动到 指定线程(targetThread)中。它的事件将在targetThread线程中处理。 注意事项 1、该对象不能有parent,否则无法移动。 2、如果targetThread为零,…