查看mysql慢日志_docker查看实时日志的命令

查看mysql慢日志_docker查看实时日志的命令慢查询日志是否开启showvariableslike’%slow_query_log%’;#如果结果中包含slow_query_log|OFF,则说明慢日志已经关闭#开启慢查询日志的方式:setglobalslow_query_log=1;慢查询sql的设置时间查看慢查询sql的设置时间,默认10s,sql执行时间大于该时间的才是慢sql,才会记录到慢查询…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

慢查询日志是否开启

show variables like ‘%slow_query_log%’;
#如果结果中包含slow_query_log      | OFF ,则说明慢日志已经关闭
#开启慢查询日志的方式:set global slow_query_log=1;

慢查询sql的设置时间

查看慢查询sql的设置时间,默认10s,sql执行时间大于该时间的才是慢sql,才会记录到慢查询日志中
show variables like ‘long_query_time’;
修改慢查询时间方法,set global long_query_time=4;
注意:使用命令 set global long_query_time=4修改后,需要重新连接或新开一个会话才能看到修改值。你用show variables like ‘long_query_time’查看是当前会话的变量值,结果还会是10s,你也可以不用重新连接会话,而是用show global variables like ‘long_query_time’

慢查询日志存储方式

show variables like ‘%log_output%’;  
log_output 参数是指定日志的存储方式。log_output=’FILE’表示将日志存入文件,默认值是’FILE’。log_output=’TABLE’表示将日志存入数据库,这样日志信息就会被写入到mysql.slow_log表中。MySQL数据库支持同时两种日志存储方式,配置的时候以逗号隔开即可,如:log_output=’FILE,TABLE’。日志记录到系统的专用日志表中,要比记录到文件耗费更多的系统资源,因此对于需要启用慢查询日志,又需要能够获得更高的系统性能,那么建议优先记录到文件.

未使用索引的查询是否记录到慢查询日志

设置未使用索引的查询是否记录到慢查询日志中
show variables like ‘log_queries_not_using_indexes’;
#开启未使用索引的查询记录到慢查询日志中
set global log_queries_not_using_indexes=1;
系统变量log-queries-not-using-indexes:未使用索引的查询也被记录到慢查询日志中(可选项)。如果调优的话,建议开启这个选项。另外,开启了这个参数,其实使用full index scan的sql也会被记录到慢查询日志。

设置慢管理语句例如ANALYZE TABLE和ALTER TABLE等记入慢查询日志
show global status like ‘%slow_queries%’;

查询日志所在位置

日志文件路径
mysql> show variables like ‘general_log_file’;
+——————+————————————+
| Variable_name    | Value                              |
+——————+————————————+
| general_log_file | /usr/local/mysql/data/localhost.log |
+——————+————————————+
1 row in set (0.00 sec)

错误日志文件路径

mysql> show variables like ‘log_error’;
+—————+————————————+
| Variable_name | Value                              |
+—————+————————————+
| log_error     | /usr/local/mysql/data/localhost.err |
+—————+————————————+
1 row in set (0.00 sec)
慢查询日志文件路径
mysql> show variables like ‘slow_query_log_file’;
+———————+—————————————–+
| Variable_name       | Value                                   |
+———————+—————————————–+
| slow_query_log_file | /usr/local/mysql/data/localhost-slow.log |
+———————+—————————————–+
1 row in set (0.01 sec)

看个实际的日志文件内容(long_query_time设置的是0.1s)
# Time: 2019-01-10T03:13:58.921561Z
# User@Host: root[root] @  [172.16.27.230]  Id:     9
# Query_time: 0.129965  Lock_time: 0.000119 Rows_sent: 36478  Rows_examined: 72956
use boss_bi;
SET timestamp=1547090038;
select  * from dau_baseinfo order by time desc;
分析如下:
Rows_sent:返回了Rows_sent行记录
Rows_examined:72956 就表示这个语句执行过程中扫描了 72956 行

日志分析工具mysqldumpslow

在实际生产环境中,如果要手工分析日志,查找、分析SQL,显然是个体力活,MySQL提供了日志分析工具mysqldumpslow
mysqldumpslow –help
-s, 是表示按照何种方式排序
    c: 访问计数
    l: 锁定时间
    r: 返回记录
    t: 查询时间
    al:平均锁定时间
    ar:平均返回记录数
    at:平均查询时间
-t, 是top n的意思,即为返回前面多少条的数据;
-g, 后边可以写一个正则匹配模式,大小写不敏感的;
提示:如果mysqldumpslow不识别,应该是安装mysql的时候没有配置环境变量,可参考文末设置
比如:
得到返回记录集最多的10个SQL。
mysqldumpslow -s r -t 10 /database/mysql/mysql06_slow.log
 
得到访问次数最多的10个SQL
mysqldumpslow -s c -t 10 /database/mysql/mysql06_slow.log
 
得到按照时间排序的前10条里面含有左连接的查询语句。
mysqldumpslow -s t -t 10 -g “left join” /database/mysql/mysql06_slow.log
 
另外建议在使用这些命令时结合 | 和more 使用 ,否则有可能出现刷屏的情况。
mysqldumpslow -s r -t 20 /mysqldata/mysql/mysql06-slow.log | more

linux和mac mysql环境变量的配置
mac
进入到用户目录下 执行 vim .bash_profile 添加如下内容
##mysql
export PATH=${PATH}:/usr/local/mysql/bin

linux
vi + /etc/profile
export PATH=….:/usr/local/mysql/bin

借鉴;http://www.cnblogs.com/saneri/p/6656161.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182840.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月12日 下午12:00
下一篇 2022年10月12日 下午12:00


相关推荐

  • jquery和ajax实战教程_ajax可以跨域吗

    jquery和ajax实战教程_ajax可以跨域吗下面介绍使用jQuery来实现一个简单的ajax实例主要的效果是使用ajax来实现书籍的价格随着书籍的数量变化,有一个增加按钮和一个减少按钮jsp页面代码<%@pagelanguage=”java”import=”java.util.*”pageEncoding=”UTF-8″%><%Stringpath=request.getContextPath();…

    2022年8月16日
    6
  • ipset如何与netfilter内核模块进行通信

    ipset如何与netfilter内核模块进行通信最近需要使用ipset,iptables,和netfilter,所以把三者的源代码看大概阅读了一遍。前面我们学习过应用层ipset和netfilter模块之间通信是采用的netlink套接字用户空间的ipset命令通过libipset.so这个库和内核通讯一、ipset主流程下面是我总结的主流程 二、用户层如何将创建set的名称和类型传递到内核层的我们都知道ip…

    2022年10月6日
    3
  • 一个封装的BeanCopier工具类[通俗易懂]

    一个封装的BeanCopier工具类[通俗易懂]工具类BeanCopierUtils1.支持source对象到target对象的拷贝2.支持Listsource到Listtarget的拷贝

    2025年9月1日
    9
  • Python以及pycharm安装OpenCV的方法

    Python以及pycharm安装OpenCV的方法第一步 WIN R 第二部 输入 cmd 第三步 直接复制粘贴 pipinstallop python ihttps pypi tuna tsinghua edu cn simple 这是安装完成的 之后重启电脑 第四步 打开 pycharm 第五步 cmd 安装 cv 完成没有 opencv python 这一项 我是 pycharm 安装完成之后出现的 第六步 点击加号 等待安装完成最下面会显示绿色的安装成功英文字样注 如果安装不成功复制粘贴 py

    2026年3月16日
    3
  • linux命令杀进程脚本_shell脚本获取进程号并杀死进程

    linux命令杀进程脚本_shell脚本获取进程号并杀死进程由于代码调试进程一直存在需要手动杀死,比较费时,写个小脚本节省下时间#viclear.sh​!/bin/bashecho”$1″pid=`ps-ef|grep$1|grep-vgrep|grep-vbash|awk'{print$2}’`echo”$pid”if[-n”$pid”]thenecho”kill-9pid:$pid”kill-9$pidfi[点击并拖拽以移动]​#chmod.

    2026年4月18日
    4
  • element级联选择器表单回显_级联选择器 数据回显

    element级联选择器表单回显_级联选择器 数据回显关于element级联选择器数据回显问题

    2022年4月21日
    411

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号