MySQL慢日志的相关配置
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,本篇内容主要讲解"MySQL慢日志的相关配置",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"MySQL慢日志的相关配置"吧!slow_query_log
千家信息网最后更新 2025年02月05日MySQL慢日志的相关配置
本篇内容主要讲解"MySQL慢日志的相关配置",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"MySQL慢日志的相关配置"吧!
slow_query_log #是否开启慢查询日志,1表示开启,0表示关闭log_slow_queries #旧版(5.6以下版本)MySQL数据库慢查询日志存储路径。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log(参数已过时)slow_query_log_file #新版(5.6及以上版本)MySQL数据库慢查询日志存储路径。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log(替换log_slow_queries)long_query_time #慢查询阈值,默认为10s,当查询时间多于设定的阈值时,记录日志log_queries_not_using_indexes #未使用索引的查询也被记录到慢查询日志中(可选项)log_output #日志存储方式。log_output='FILE'表示将日志存入文件,默认值是'FILE'。log_output='TABLE'表示将日志存入数据库,这样日志信息就会被写入到mysql.slow_log表中。MySQL数据
库支持同时两种日志存储方式,配置的时候以逗号隔开即可,如:log_output='FILE,TABLE'。日志记录到系统的专用日志表中,要比记录到文件耗费更多的系统资源,因此对于需要启用慢查询日志,又需
要能够获得更高的系统性能,那么建议优先记录到文件
慢日志配置默认情况下slow_query_log的值为OFF,表示慢查询日志是禁用的,可以通过设置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/localhost-slow.log |+---------------------+------------------------------------------+2 rows in set (0.00 sec) mysql> set global slow_query_log=1;Query OK, 0 rows affected (0.00 sec) mysql> show variables like '%slow_query_log%';+---------------------+------------------------------------------+| Variable_name | Value |+---------------------+------------------------------------------+| slow_query_log | ON || slow_query_log_file | /usr/local/mysql/data/localhost-slow.log |+---------------------+------------------------------------------+2 rows in set (0.00 sec)#使用set global slow_query_log=1开启了慢查询日志只对当前数据库生效,MySQL重启后则会失效。如果要永久生效,就必须修改配置文件my.cnf(其它系统变量也是如此)修改my.cnf文件,增加或修改参数slow_query_log 和slow_query_log_file后,然后重启MySQL服务器,如下所示:slow_query_log =1slow_query_log_file=/usr/local/mysql/data/localhost-slow.logmysql> show variables like 'slow_query%';+---------------------+---------------------+| Variable_name | Value |+---------------------+---------------------+| slow_query_log | ON || slow_query_log_file | /usr/local/mysql/data/localhost-slow.log |+---------------------+---------------------+rows in set (0.00 sec) mysql> #慢查询的参数slow_query_log_file ,它指定慢查询日志文件的存放路径,系统默认会给一个缺省的文件host_name-slow.log
mysql自带的慢日志分析工具mysqldumpslow --helpUsage: mysqldumpslow [ OPTS... ] [ LOGS... ]Parse and summarize the MySQL slow query log. Options are --verbose verbose --debug debug --help write this text to standard output -v verbose -d debug -s ORDER what to sort by (al, at, ar, c, l, r, t), 'at' is default al: average lock time ar: average rows sent at: average query time c: count l: lock time r: rows sent t: query time -r reverse the sort order (largest last instead of first) -t NUM just show the top n queries -a don't abstract all numbers to N and strings to 'S' -n NUM abstract numbers with at least n digits within names -g PATTERN grep: only consider stmts that include this string -h HOSTNAME hostname of db server for *-slow.log filename (can be wildcard), default is '*', i.e. match all -i NAME name of server instance (if using mysql.server startup script) -l don't subtract lock time from total time############################################################################## -s, 是表示按照何种方式排序 c: 访问计数 l: 锁定时间 r: 返回记录 t: 查询时间 al:平均锁定时间 ar:平均返回记录数 at:平均查询时间 -t, 是top n的意思,即为返回前面多少条的数据;-g, 后边可以写一个正则匹配模式,大小写不敏感的; 比如:得到返回记录集最多的10个SQL。mysqldumpslow -s r -t 10 /database/mysql/mysql06_slow.log 得到访问次数最多的10个SQLmysqldumpslow -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##############################################################################
清理mysql-bin命令行:reset master;reset slave;针对主从场景配置my.cnf:log-bin = mysql-bin #可注释掉binlog_format = mixed #binlog记录的模式expire_logs_days = 7 #设置保留天数 重启mysql生效
到此,相信大家对"MySQL慢日志的相关配置"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
日志
查询
文件
配置
系统
数据
时间
参数
数据库
存储
方式
路径
内容
命令
建议
情况
更多
模式
版本
阈值
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
深度学习服务器腾讯
文明6怎么换服务器
曲靖软件开发工程师培训机构
服务器电源故障处理流程
安康网络安全活动
如何爬取数据库
高峰中学护苗网络安全教育
奇摩网络技术有限公司
如何搞崩别人服务器我的世界
测试过程中数据库问题报文没问题
软件开发里的框架是什么
金华市恒信网络技术工程有限公司
网络安全手操报图片
网络安全的重要2020
惠普服务器咨询
中兴软件开发校招待遇
小学网络安全教育app
郑州有哪些软件开发技校
网络安全教育绘画作品
基于学生学习英语的软件开发
汽车发动机软件开发
静态网页可以用电脑做服务器吗
应用软件打开数据库
服务器硬盘盒
兰州数据库脱敏
商业信息网络技术
签订网络安全责任书
cnkl数据库
安康软件开发公司
计算机类数据库 题库