前言

在开发中,高效能的程序 也包括 高效能的查询,所以优化SQL也是程序员必要技能之一。要优化就必须要有慢日志记录才可以知道哪些查询慢,然后反向去修改

慢日志设置方式

  • 写入文件

  • 写入数据库

实践操作

方式一:写入文件

编辑my.conf 中修改 log_slow_queries 的日志地址

$ cd /etc/mysql
$ cat my.cnf |grep slow
log_slow_queries    = /data/logs/mysql/mysql-slow.log
$ sudo /etc/init.d/mysql restart

简单验证

$ mysql -uroot -p
mysql> show variables like '%slow_query_log%';
+---------------------+---------------------------------+
| Variable_name       | Value                           |
+---------------------+---------------------------------+
| slow_query_log      | ON                              |
| slow_query_log_file | /data/logs/mysql/mysql-slow.log |
+---------------------+---------------------------------+
2 rows in set (0.00 sec)$ tail -f /data/logs/mysql/mysql-slow.log
# Time: 161110 23:20:22
# User@Host: root[root] @ localhost []
# Query_time: 3.007048  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0
SET timestamp=1478791222;
select sleep(3);

方式二:写入数据库

先查看目前日志输出方式

mysql> show variables like '%log_output%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output    | FILE  |
+---------------+-------+
1 row in set (0.00 sec)

设置输出方式为FILE,TABLE

mysql> set global log_output='FILE,TABLE';
Query OK, 0 rows affected (0.00 sec)mysql> show variables like '%log_output%';
+---------------+------------+
| Variable_name | Value      |
+---------------+------------+
| log_output    | FILE,TABLE |
+---------------+------------+
1 row in set (0.00 sec)mysql> select count(*) from mysql.slow_log;
+----------+
| count(*) |
+----------+
|        2 |
+----------+
1 row in set (0.00 sec)

备注: log_output 参数设定日志文件的输出,可选值为 TABLE, FILE ,NONE;  "TABLE" 意思为设定日志分别记录到 mysql 库的 general_log 和 slow_log 表中; "FILE" 意思为记录日志到操作系统的文件中, "NONE" 意思为取消日志记录。

参考资料

  1. http://dev.mysql.com/doc/refman/5.6/en/slow-query-log.html

原文地址:MySQL:动态开启慢查询日志(Slow Query Log)
标签:mysql   slow_log   log   log_output   query

智能推荐

  • apparmor 引起自定义mysql 日志问题
  • In MySQL, a zero number equals any string
  • MetaWeblog 同时管理51cto,csdn,sina,163,oschina,cnblogs等博客
  • PAC 自动代理
  • 免费×××利器:shadowsocks

转载于:https://blog.51cto.com/imguowei/1871642

MySQL:动态开启慢查询日志(Slow Query Log)相关推荐

  1. suse查看mysql内存使用情况_MySQL 慢查询日志(Slow Query Log)

    4.格式化慢查询日志 结构化慢查询日志就是把慢查询日志中的重要信息按照便于阅读以及按照特定的排序方式来提取SQL. 这种方式有点类似于Oracle中有个tkprof来格式化oracle的trace文件 ...

  2. mysql errcode13_MySQL开启慢查询日志时报Errcode: 13 的解决方法

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

  3. mysql数据库开启慢查询日志

    修改配置文件 在配置文件my.ini中加上下面两句话 1 log-slow-queries = C:\xampp\mysql_slow_query.log 2 long_query_time=3 第一 ...

  4. MySQL日志(一)—— 慢查询日志slow log

    一.慢查询日志(slow log) 慢查询日志,就是查询超过一定的时间没有返回结果的时候,MySQL会将执行的SQL记录到日志中,这个日志,就称为慢查询日志.通过分析慢查询日志,可以快速找出执行慢的S ...

  5. mysql dba系统学习(8)查询日志文件功能 mysql dba系统学习(9)slow query log慢查询日志功能

    查询日志的作用是记录所有客户端发来的sql语句,也就是记录客户端的所有操作 Log参数将要过时,现在用general_log来代替 打开查询日志功能 mysql> showvariables l ...

  6. 6、MySQL慢查询日志(Slow Query Log)

    慢查询日志用来记录在 MySQL 中执行时间超过指定时间的查询语句.通过慢查询日志,可以查找出哪些查询语句的执行效率低,以便进行优化. 通俗的说,MySQL 慢查询日志是排查问题的 SQL 语句,以及 ...

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

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

  8. mysql开启慢查询日志

    应用背景: MySQL慢查询日志功能默认是关闭的,通过开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,再通过分析定位问题瓶颈,优化查询提高数据库系统的性能. 测试环境: centos7. ...

  9. mysql打开慢查询_MySQL 开启慢查询日志的方法

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

最新文章

  1. echarts雷达图线的样式_echarts 雷达图的个性化设置
  2. mfc 改变tab快捷键对控件的顺序
  3. 关于VISIO工具栏、菜单栏消失的解决办法
  4. 【sql那些事】时间处理的一揽子事
  5. 【原创】技术员 Ghost Win 10(x86/x64)企业版 201806
  6. java计算机毕业设计小型企业财务报销管理源码+lw文档+系统+数据库
  7. CentOS加入Windows域
  8. 盘点20条Allegro操作指令,老司机都不一定掌握的技能
  9. 给自己的2T硬盘进行分区的过程。
  10. Android 自定义View实现照片裁剪框与照片裁剪
  11. python 抖音文案提取_一篇文章教会你用Python抓取抖音app热点数据!
  12. 手机寂静岭 java 攻略_寂静岭PT最终房间进入及通关攻略
  13. 服务器运维的日常工作,运维工作人员日常工作重点有哪些?
  14. 人际关系-《别独自用餐》书中的精髓:通过有效的社交法则,改变社交行为固有模式,建立更有价值的人脉关系,从而获取更大成功。
  15. windows脚本创建桌面快捷图标方式
  16. 基于Joplin+PicGo+阿里OSS搭建自己的云笔记
  17. 教你彻底解决Apple ID密码重置问题
  18. mysql权威指南 代码_mysql权威指南学习札记
  19. 蘑菇街Java工资_【蘑菇街工资】java开发工程师待遇-看准网
  20. 老男孩教育 | 0基础学习三个月的心得分享!

热门文章

  1. 使用Javascript在Leetcode中的ACM模式下无法获取输入数据的问题
  2. Spring Boot 解决方案 - 会话
  3. Android 屏幕适配:最全面的解决方案
  4. IDEA异常解决: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
  5. Spring Boot前后端分离项目Session问题解决
  6. 对于未来chrome80 samesite问题的兼容解决方案
  7. ASP.NET MVC中ApiController与Controller的区别
  8. UnicodeEncodeError:#39;ascii#39;编解码器无法在位置20编码字符u#39;\\ xa0#39;:序数不在范围内(128)
  9. cf烟雾头怎么调win7系统
  10. MTK:BMT充电模块