工作中,会遇到需要查看mysql的top 20 慢sql,逐个进行优化,加上必要的索引这种需求,这时就需要开启数据库的慢查询日志的功能

1.查询当前慢查询日志的状态

# 默认为关闭状态

mysql
----------------------------
show variables like "%slow_query_log%";
----------------------------

# 实例演示:

mysql> show variables like "%slow_query_log%";
+---------------------+-------------------------------------------+
| Variable_name | Value |
+---------------------+-------------------------------------------+
| slow_query_log | OFF |
| slow_query_log_file | /usr/local/mysql/data/-mysql-slow.log |
+---------------------+-------------------------------------------+
rows in set (0.00 sec)

# 可以看到,慢查询日志的状态和默认的慢查询日志的文件

[root@-mysql ~]# cd /usr/local/mysql/data/
[root@-mysql data]# ll
总用量
-rw-r----- mysql root 11月 -mysql.err
-rw-rw---- mysql mysql 11月 auto.cnf
-rw-rw---- mysql mysql 12月 : ibdata1
-rw-rw---- mysql mysql 12月 : ib_logfile0
-rw-rw---- mysql mysql 12月 ib_logfile1
drwx------ mysql mysql 11月 mysql
-rw-rw---- mysql mysql 12月 : mysql-bin.
-rw-rw---- mysql mysql 12月 : mysql-bin.
-rw-rw---- mysql mysql 12月 : mysql-bin.index
drwx------ mysql mysql 11月 performance_schema

# 但实际在该位置并未生成慢查询日志的文件

2.手动开启慢查询日志

# 登陆mysql进行设置

mysql
----------------------------
set global slow_query_log=on;
----------------------------

# 实例演示:

mysql> set global slow_query_log=on;
Query OK, rows affected (0.02 sec) mysql> show variables like "%slow_query_log%";
+---------------------+-------------------------------------------+
| Variable_name | Value |
+---------------------+-------------------------------------------+
| slow_query_log | ON |
| slow_query_log_file | /usr/local/mysql/data/-mysql-slow.log |
+---------------------+-------------------------------------------+
rows in set (0.00 sec)

# 可以看到,慢查询日志的状态更改了

[root@-mysql data]# ll
总用量
-rw-r----- mysql root 11月 -mysql.err
-rw-rw---- mysql mysql 1月 : -mysql-slow.log
-rw-rw---- mysql mysql 11月 auto.cnf
-rw-rw---- mysql mysql 12月 : ibdata1
-rw-rw---- mysql mysql 12月 : ib_logfile0
-rw-rw---- mysql mysql 12月 ib_logfile1
drwx------ mysql mysql 11月 mysql
-rw-rw---- mysql mysql 12月 : mysql-bin.
-rw-rw---- mysql mysql 12月 : mysql-bin.
-rw-rw---- mysql mysql 12月 : mysql-bin.index
drwx------ mysql mysql 11月 performance_schema

# 检查文件发现自动生成了慢查询日志的文件

3.修改mysql配置文件保证永久生效

# 由于慢查询日志记录的信息比较多,会影响mysql的性能,所以生产环境不建议长期开启

vim /etc/my.cnf
-----------------------------------
slow_query_log=
slow_query_log_file=/usr/local/mysql/data/slow-query.log
-----------------------------------

# 其他可用的配置参数

long_query_time=1           # 慢查询日志的时间定义(秒),默认为10秒,多久就算慢查询的日志
log_queries_not_using_indexes= # 将所有没有使用带索引的查询语句全部写到慢查询日志中

# 修改完配置重启即可生效

==== 完毕,呵呵呵呵 ====

mysql配置调优-开启慢查询日志-slow_query_log的更多相关文章

  1. Mysql配置调优(转自阿铭论坛)

    Mysql配置文件my.cnf参数优化对于新手来讲,是比较难懂的东西,其实这个参数优化,是个很复杂的东西,对于不同的网站,及其在线量,访问量,帖子数量,网络情况,以及机器硬件配置都有关系,优化不可能一 ...

  2. mysql数据库优化之开启慢查询日志

    进入mysql数据库,使用 show variables like 'slow_query_log'; 查看是否开启了慢查询日志 value值为OFF,则慢查询日志没有开启,在开启慢查询日志之前,我们 ...

  3. aws mysql 开启慢查询日志, 并利用mysqlsla 分析

    1.开启慢查询日志服务 (a) sql 查询配置 # 查看慢日志是否开启,开启为ON show variables like 'slow_query%'; show variables like 'l ...

  4. MySQL:动态开启慢查询日志(Slow Query Log)

    前言 在开发中,高效能的程序 也包括 高效能的查询,所以优化SQL也是程序员必要技能之一.要优化就必须要有慢日志记录才可以知道哪些查询慢,然后反向去修改 慢日志设置方式 写入文件 写入数据库 实践操作 ...

  5. MySQL 开启慢查询日志

    1.1 简介 开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能. 1.2 登录数据库查看 [root@localhost lib]# ...

  6. MySQL跟踪SQL执行之开启慢查询日志

      查询慢查询相关参数   show variables like '%quer%';   slow_query_log(是否记录慢查询)   slow_query_log_file(慢日志文件路径) ...

  7. MySQL开启慢查询日志时报Errcode: 13 的解决方法

    开启慢查询日志时会出现(Errcode: 13 - Permission denied)文件找不到的错误,但文件明明是存在的并且有读写的权限. mysql> set global slow_qu ...

  8. mysql中开启慢查询日志

    开启慢查询日志,需要在配置文件my.ini中配置. long_query_time = 1 #设置慢查询时间,配置是下划线log-slow-queries = d:\mysql5\logs\mysql ...

  9. MySQL 开启慢查询日志与普通日志

    一.开启满查询日志 1.查看慢查询日志 SHOW VARIABLES LIKE '%slow%'; 2.开启慢查询日志 set GLOBAL slow_query_log =on; 3.设置慢查询日志 ...

随机推荐

  1. spring-data-jpa 介绍 复杂查询,包括多表关联,分页,排序等

    本篇进行Spring-data-jpa的介绍,几乎涵盖该框架的所有方面,在日常的开发当中,基本上能满足所有需求.这里不讲解JPA和Spring-data-jpa单独使用,所有的内容都是在和Spring ...

  2. Hadoop HDFS的Shell操作实例

    本文发表于本人博客. 我们知道HDFS是Hadoop的分布式文件系统,那既然是文件系统那最起码会有管理文件.文件夹之类的功能吧,这个类似我们的Windows操作系统一样的吧,创建.修改.删除.移动.复 ...

  3. 121. Best Time to Buy and Sell Stock(股票最大收益)

    Say you have an array for which the ith element is the price of a given stock on day i. If you were ...

  4. FTP服务器配置实践

    1.为linux系统分配IP地址:192.168.X.1/24,并重启网络服务,客户端XP系统IP地址为:192.168.X.2/24, 2.查询本机是否安装了vsftpd服务,结果显示未安装,挂载光 ...

  5. 关于Redis命令keys在性能方面的说明

    redis的keys命令类似于Mysql的like命令,无非就是模糊匹配相近的字符数据. KEYS 的速度非常快,但在一个大的数据库中使用它仍然可能造成性能问题,如果你需要从一个数据集中查找特定的 k ...

  6. Log4j2报错ERROR StatusLogger Unrecognized format specifier

    问题 使用maven-shade-plugin或者maven-assembly-plugin插件把项目打成一个可执行JAR包时,如果你引入了log4j2会出现如下问题: ERROR StatusLog ...

  7. Lucene 基础知识

    1. 数据分类 结构化数据: 指具有固定格式或有限长度的数据,如数据库等; 非结构化数据: 指不定长或无固定格式的数据, 如邮件,word 文档等磁盘上的文件; 1.1 非结构化数据查询方法 顺序扫描 ...

  8. 【Python初学者】准备

    准备着手学习Python这门久仰大名的语言.本篇随笔是学习它的准备阶段. 操作系统: Mac OS 10.11.5 下载编辑器Testwrangler 点我 第一个Python程序 在命令行中运行py ...

  9. IDEA 搭建授权服务器

    引用地址  http://blog.lanyus.com/archives/317.html 今天突出发现基本公开的激活地址都被屏蔽了(IDEA 2017.3 版本) 记录一下 docker pull ...

  10. 二进制文件和ASCII文件有何区别

    二进制文件和ASCII文件(即文本文件)的区别,对于和计算机亲近时间尚短的同学是个难题. 1.一个例子:两种100000 有程序: #include<iostream> using nam ...