mysql慢查询日记是mysql供应的一种日记纪录,它是用来纪录在mysql中响应时候凌驾阈值的语句,就是指运转时候凌驾long_query_time值的sql,会被纪录在慢查询日记中。long_query_time的默认值是10,意义是运转10S之上的语句。
相干mysql视频教程引荐:《mysql教程》
慢查询日记的设置
1 、检察是不是开启慢查询日记敕令:
show variables like '%slow_query_log%'
2、设置慢查询开启的敕令
set global slow_query_log=1
注:
slow_query_log ON为开启,OFF为封闭
slow_query_log_file 为慢查询日记的寄存地点
3、查询并修正慢查询定义的时候
show variables like 'long_query_time%'
set global long_query_time=4
4、未运用索引的查询被纪录到慢查询日记中。假如调优的话,发起开启这个选项。假如开启了这个参数,full index scan的sql也会被纪录到慢查询日记中。
show variables like 'log_queries_not_using_indexes'
set global log_queries_not_using_indexes=1
5、查询有若干条慢查询纪录
show global status like '%Slow_queries%';
mysqldumpslow 慢日记剖析东西
敕令:
-s 根据那种体式格局排序 c:接见计数 l:锁定时候 r:返回纪录 al:均匀锁定时候 ar:均匀接见纪录数 at:均匀查询时候 -t 是top n的意义,返回若干条数据。-g 能够跟上正则婚配形式,大小写不敏感。
获得返回纪录最多的20个sql
mysqldumpslow -s r -t 20 sqlslow.log
获得均匀接见次数最多的20条sql
mysqldumpslow -s ar -t 20 sqlslow.log
获得均匀接见次数最多,而且内里含有ttt字符的20条sql
mysqldumpslow -s ar -t 20 -g "ttt" sqldlow.log
注:
1、假如涌现 -bash: mysqldumpslow: command not found 毛病,请实行
ln -s /usr/local/mysql/bin/mysqldumpslow /usr/bin
2、假如涌现以下毛病,Died at /usr/bin/mysqldumpslow line 161, <> chunk 405659.申明你要剖析的sql日记太大了,请拆分后再剖析
拆分的敕令为:
tail -100000 mysql-slow.log>mysql-slow.20180725.log
相干文章:
开启mysql慢查询日记并运用mysqldumpslow敕令检察
运用mysqldumpslow和mysqlsla剖析mysql慢查询日记
相干视频:
MySQL数据管理之备份恢复案例剖析视频教程
以上就是看mysql 怎样开启慢查询?浅谈慢查询日记的道理的细致内容,更多请关注ki4网别的相干文章!