mysql配置调优-开启慢查询日志-slow_query_log
工作中,会遇到需要查看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的更多相关文章
- Mysql配置调优(转自阿铭论坛)
Mysql配置文件my.cnf参数优化对于新手来讲,是比较难懂的东西,其实这个参数优化,是个很复杂的东西,对于不同的网站,及其在线量,访问量,帖子数量,网络情况,以及机器硬件配置都有关系,优化不可能一 ...
- mysql数据库优化之开启慢查询日志
进入mysql数据库,使用 show variables like 'slow_query_log'; 查看是否开启了慢查询日志 value值为OFF,则慢查询日志没有开启,在开启慢查询日志之前,我们 ...
- aws mysql 开启慢查询日志, 并利用mysqlsla 分析
1.开启慢查询日志服务 (a) sql 查询配置 # 查看慢日志是否开启,开启为ON show variables like 'slow_query%'; show variables like 'l ...
- MySQL:动态开启慢查询日志(Slow Query Log)
前言 在开发中,高效能的程序 也包括 高效能的查询,所以优化SQL也是程序员必要技能之一.要优化就必须要有慢日志记录才可以知道哪些查询慢,然后反向去修改 慢日志设置方式 写入文件 写入数据库 实践操作 ...
- MySQL 开启慢查询日志
1.1 简介 开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能. 1.2 登录数据库查看 [root@localhost lib]# ...
- MySQL跟踪SQL执行之开启慢查询日志
查询慢查询相关参数 show variables like '%quer%'; slow_query_log(是否记录慢查询) slow_query_log_file(慢日志文件路径) ...
- MySQL开启慢查询日志时报Errcode: 13 的解决方法
开启慢查询日志时会出现(Errcode: 13 - Permission denied)文件找不到的错误,但文件明明是存在的并且有读写的权限. mysql> set global slow_qu ...
- mysql中开启慢查询日志
开启慢查询日志,需要在配置文件my.ini中配置. long_query_time = 1 #设置慢查询时间,配置是下划线log-slow-queries = d:\mysql5\logs\mysql ...
- MySQL 开启慢查询日志与普通日志
一.开启满查询日志 1.查看慢查询日志 SHOW VARIABLES LIKE '%slow%'; 2.开启慢查询日志 set GLOBAL slow_query_log =on; 3.设置慢查询日志 ...
随机推荐
- 配置Tomcat直接显示目录结构和文件列表
Tomcat是直接显示目录结构和文件列表,只是在配置里面给关闭了. 关键在这里:\conf\web.xml 这个文件有一段配置直接控制Tomcat是允许显示目录结构和文件列表. <servlet ...
- 使WebDev.WebServer.exe 当web服务器
Vs自带的Visual Studio Development_server非常好用.比XP的IIS强多了. XP的IIS经常报访问数过多. 但是, WebDev.WebServer.exe 有个限制就 ...
- cocos代码研究(25)Widget子类PageView学习笔记
基础理论 ListView控件是一个显示滚动项目列表的视图组. 列表项是通过使用addChild或insertDefaultItem插入到列表中的,继承自ScrollView. 代码实践 static ...
- #C++初学记录(高精度运算)(加法)
高精度运算 不管是int还是double亦或者long long ,这些定义变量都有数据范围的一定限制,在计算位数超过十几位的数,也就是超过他们自身的数据范围时,不能采用现有类型进行计算,只能自己通过 ...
- uva 1048 最短路的建图 (巧,精品)
大白书 P341这题说的是给了NT种飞机票,给了价钱和整个途径,给了nI条要旅游的路线.使用飞机票都必须从头第一站开始坐,可以再这个路径上的任何一点下飞机一但下飞机了就不能再上飞机,只能重新买票,对于 ...
- javascript数组总结
数组是一个有序的集合,javascript数组中的元素的类型可以是任意的,同一个数组不同元素之间的类型也是可以不同的.数组也是对象,有个length属性,记录数组的长度. 创建数组有两种方法: 数组直 ...
- Django学习笔记之ORM多表操作
创建模型 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者模型之间是一对一的关 ...
- 2017-2018-1 JaWorld 团队作业--冲刺7
2017-2018-1 JaWorld 团队作业--冲刺7 冲刺博客 冲刺1 冲刺2 冲刺3 冲刺4 冲刺5 项目完成情况 存在的问题 存在的问题是敌机只设置了一种,没能实现多种敌机的游戏设置. 界面 ...
- ssh-copy-id使用非默认22端口
ssh-copy-id使用及非默认22端口时报错 ssh-copy-id使用介绍 说明:ssh-copy-id命令可以把本地的ssh公钥文件安装到远程主机对应的账户下. 功能:ssh-copy-id ...
- linux下如何退出tmux和重新进入tmux
1.退出(detach)当前tmux ctrl+d 2.重新进入tmux tmux attach -t <target-session> 如:当前有很多session,那么选择哪一个呢? ...