1.1 简介

开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能。

1.2 登录数据库查看

[root@localhost lib]# mysql –uroot

因为没有设置设置密码,有密码的在 mysql –uroot –p 接密码

1.2.1 进入MySql 查询是否开了慢查询

mysql> show variables like 'slow_query%';

+---------------------+--------------------------------------------+

| Variable_name | Value |

+---------------------+--------------------------------------------+

| slow_query_log | OFF |

| slow_query_log_file | /application/mysql/data/localhost-slow.log |

+---------------------+--------------------------------------------+

2 rows in set (0.00 sec)

参数说明:

slow_query_log 慢查询开启状态  OFF 未开启 ON 为开启

slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设置为MySQL的数据存放目录)

1.2.2 查看慢查询超时时间

mysql> show variables like 'long%';

+-----------------+-----------+

| Variable_name | Value |

+-----------------+-----------+

| long_query_time | 10.000000 |

+-----------------+-----------+

1 row in set (0.00 sec)

long_query_time 查询超过多少秒才记录   默认10秒 修改为1秒

1.3 修改方法1:(不推荐)

方法一:优点临时开启慢查询,不需要重启数据库  缺点:MySql 重启慢查询失效

推荐:根据业务需求,建议使用第二种,临时可以用第一种

默认情况下slow_query_log的值为OFF,表示慢查询日志是禁用的,可以通过设置slow_query_log的值来开启,如下所示::是否开启慢查询日志,1表示开启,0表示关闭。

1.3.1 查看是否开启慢查询

mysql> show variables like '%slow_query_log%';

+---------------------+--------------------------------------------+

| Variable_name | Value |

+---------------------+--------------------------------------------+

| slow_query_log | OFF |

| slow_query_log_file | /application/mysql/data/localhost-slow.log |

+---------------------+--------------------------------------------+

2 rows in set (0.01 sec)

输入 语句修改(重启后失效,建议在/etc/my.cnf中修改永久生效)

mysql> set global slow_query_log=1;

Query OK, 0 rows affected (0.11 sec)

1.3.2 再次查看

mysql> show variables like '%slow_query_log%';

+---------------------+--------------------------------------------+

| Variable_name | Value |

+---------------------+--------------------------------------------+

| slow_query_log | ON |

| slow_query_log_file | /application/mysql/data/localhost-slow.log |

+---------------------+--------------------------------------------+

2 rows in set (0.00 sec)

1.4 修改方法2:(推荐)

修改 MySql 慢查询,好多人不知道my.cnf 路径,可以用 find 查找

备注:我的MySQL 是编译的 路径为 /etc/my.cnf (一般都是这里)

[root@localhost log]# find / -type f -name "my.cnf"

/application/mysql-5.5.51/mysql-test/suite/rpl/my.cnf

/application/mysql-5.5.51/mysql-test/suite/federated/my.cnf

/application/mysql-5.5.51/mysql-5.5.51-linux2.6-x86_64/mysql-test/suite/rpl/my.cnf

/application/mysql-5.5.51/mysql-5.5.51-linux2.6-x86_64/mysql-test/suite/federated/my.cnf

/etc/my.cnf ###(一般都是这里)

1.4.1.1 修改

[root@localhost log]# vim /etc/my.cnf

找到 [mysqld] 下面添加

slow_query_log =1

slow_query_log_file=/application/mysql/data/localhost-slow.log

long_query_time = 1

参数说明:

slow_query_log 慢查询开启状态  1 为开启

slow_query_log_file 慢查询日志存放的位置

long_query_time 查询超过多少秒才记录   默认10秒 修改为1秒

修改完重启MySQL

1.5 查看、测试

1.5.1.1 插入一条测试慢查询

mysql> select sleep(2);

+----------+

| sleep(2) |

+----------+

| 0 |

+----------+

1 row in set (2.00 sec)

1.5.1.2 查看慢查询日志

[root@localhost data]# cat /application/mysql/data/localhost-slow.log

/application/mysql/bin/mysqld, Version: 5.5.51-log (MySQL Community Server (GPL)). started with:

Tcp port: 3306 Unix socket: /tmp/mysql.sock

Time Id Command Argument

/application/mysql/bin/mysqld, Version: 5.5.51-log (MySQL Community Server (GPL)). started with:

Tcp port: 3306 Unix socket: /tmp/mysql.sock

Time Id Command Argument

/application/mysql/bin/mysqld, Version: 5.5.51-log (MySQL Community Server (GPL)). started with:

Tcp port: 3306 Unix socket: /tmp/mysql.sock

Time Id Command Argument

# Time: 170605 6:37:00

# User@Host: root[root] @ localhost []

# Query_time: 2.000835 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0

SET timestamp=1496615820;

select sleep(2);

1.5.1.3 通过MySQL命令查看有多少慢查询

mysql> show global status like '%Slow_queries%';

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| Slow_queries | 1 |

+---------------+-------+

1 row in set (0.00 sec)

1.6 日志分析工具mysqldumpslow

在生产环境中,如果要手工分析日志,查找、分析SQL,显然是个体力活,MySQL提供了日志分析工具mysqldumpslow

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

mysql打开慢查询_MySQL 开启慢查询日志的方法相关推荐

  1. mysql慢查询日志平时开启吗_MySQL开启慢查询日志功能的方法

    mysql慢查询日志对于跟踪有问题的查询非常有用,可以分析出当前程序里是否有很耗费资源的sql语句,这是一个有用的日志.它对于性能的影响不大(假设所有查询都很快),并且强调了那些最需要注意的查询(丢失 ...

  2. mysql 开启慢查明_mysql开启慢查询方法

    1,配置开启 Linux: 在mysql配置文件my.cnf中增加 log-slow-queries=/var/lib/mysql/slowquery.log (指定日志文件存放位置,可以为空,系统会 ...

  3. mysql查询新建查询报错_mysql开启慢查询报错:

    1.进入mysql命令行:#mysql -uroot -p123456,执行下面的命令开启慢查询报错: set global slow_query_log=on; set global long_qu ...

  4. golang mysql多表查询_MySQL多表查询

    一 多表连接查询 #重点:外链接语法 SELECT 字段列表 FROM 表1 INNER|LEFT|RIGHT JOIN 表2 ON 表1.字段= 表2.字段; #建表 create table de ...

  5. php mysql 时间戳查询_mysql中时间查询函数(包括时间戳)

    mysql中时间查询函数(包括时间戳) 这些函数都是MySQL自带的,可以直接使用在PHP写的MySQL查询语句中哦 1-CURDATE()或CURRENT_DATE()和CURTIME()或CURR ...

  6. mysql子查询教行子查询_MySQL中列子查询与行子查询操作的学习教程

    MysqL 列子查询及 IN.ANY.SOME 和 ALL 操作符的使用MysqL 列子查询 列子查询是指子查询返回的结果集是 N 行一列,该结果通常来自对表的某个字段查询返回. 一个列子查询的例子如 ...

  7. mysql 检查哪些项目_mysql根据内容查询在哪个表.go

    package main import ( "database/sql" "errors" "fmt" "github.com/g ...

  8. mysql数据库实验3查询_mysql数据库(3)-查询

    数据库设计规范 查询 创建数据库.数据表 -- 创建数据库 create database python_test_1 charset=utf8; -- 使用数据库 use python_test_1 ...

  9. mysql 同表子查询_MySQL 表子查询

    MySQL 表子查询 表子查询是指子查询返回的结果集是 N 行 N 列的一个表数据. MySQL 表子查询实例 下面是用于例子的两张原始数据表: article 表: aidtitlecontentu ...

最新文章

  1. python有道自动翻译_Python 调用有道翻译接口实现翻译
  2. 旋转函数_一招搞定高中数学函数平移旋转问题
  3. BZOJ 1867 [Noi1999]钉子和小球 DP
  4. JavaWeb(八)——JSP(Java服务器端页面)
  5. SwiftUI之如何创建常量绑定与自定义绑定
  6. 职场有多少IT精英透支健康和生命?
  7. java文件的基本操作示例
  8. CF888G XOR-MST 最小异或生成树
  9. 下列不属于PHP开发优势的是,php开发的优势有哪些?
  10. Google DeepMind 团队发布新算法,下一个被 AI 虐哭的是谁?
  11. Smobiler的复杂控件的由来与创造
  12. 规格说明书练习-吉林市1日游
  13. 我上传的CSDN资源无法使用的处理方法
  14. 梦雨百度网盘批量改名与文件批量复制
  15. java使用cmd编译中文时错误,解决Notepad++编写的Java程序在cmd窗口编译时中文注释报错问题...
  16. 彻底理解——指针常量和常量指针、指向常量的常指针
  17. AD域控的搭建与加入AD域
  18. Java虚拟机规范 Java SE 8版 - class文件格式(二)
  19. Android 自定义字体样式 及系统默认字体样式 的设置
  20. 概率生成模型:GDA和Navie Bayes

热门文章

  1. 使用 Azure Site Recovery 将内部部署虚拟化工作负荷迁移至 Azure
  2. Opencv step by step - 图像变换
  3. PHPThumb处理图片
  4. ICPC-图论知识与算法要览
  5. HDU4510 小Q系列故事——为什么时光不能倒流【时间计算】
  6. NOI训练行动路线图
  7. CCF201412-4 最优灌溉(解法二)(100分)【废除!!!】
  8. 特例模式(Special Case Pattern)与空对象模式(Null Pointer Pattern)—— 返回特例对象而非 null
  9. 中英文对照 —— 图表等的可视化
  10. 机器学习实践指南(五)—— GD/SGD/MSGD 伪代码演示