菜单

MySQL慢查询日志相关的配置和使用,MySQL慢查询日志的配置与使用教程www.2138.com

2020年2月8日 - www.2138.com
MySQL慢查询日志相关的配置和使用,MySQL慢查询日志的配置与使用教程www.2138.com

前言

 

MySQL慢查询日志是大家在平时专门的职业中平日会际遇的二个效果与利益,MySQL慢查询日志提供了超出指准时期阈值的查询音讯,为质量优化提供了根本的参阅依据,是贰个充足实用的效应,MySQL慢查询日志的张开和陈设极其轻易,能够钦定记录的文书,超越的光阴阈值等即可记录到慢sql了,实话讲,绝相比sqlserver的trace恐怕扩大事件,MySQL的安排总是给人风姿罗曼蒂克种十分清爽的认为。

MySQL慢查询日志提供了超过指按期期阈值的询问消息,为质量优化提供了重在的仿效依靠,是三个那二个实用的效果与利益,
MySQL慢查询日志的打开和安顿非常轻易,能够钦点记录的文本(只怕表),超过的日子阈值等就足以记下到慢sql了,
实话讲,相比较sqlserver的trace恐怕扩张事件(固然此双方的效果并不是仅仅如此),MySQL的安顿总是给人意气风发种十一分直爽的感觉。

黄金时代、慢查询日志的开拓

  1,慢查询日志的开采

平常意况下,只须求在布局文件中追加slow_query_log = 1配备,即张开慢查询日志,未钦定slow_query_log_file的情形下,会自动生成二个以主机名+‘slow’.log
的文书。

   正常意况下,只必要在布局文件中追加slow_query_log =
1配置,即张开慢查询日志,未内定slow_query_log_file的图景下,会自动生成二个以主机名+‘slow’.log
的文书。

二、暗中认可情状下记录慢查询的时日阈值为10s

  www.2138.com 1

暗中同意意况下,钦赐slow_query_log = 1的动静其运维MySQL,就可以张开慢查询,自动生成四个默许的以主机名++‘slow’.log
的文书来记录超过试行超过10s的慢查询。

  2,暗中同意意况下记录慢查询的光阴阈值为10s

也足以显式钦定慢查询的日记文件名称和记录慢查询的年月阈值。

  www.2138.com 2

注意:在配置文件中钦定long_query_time的时候,无需时刻单位,只需求三个值,比方1就代表1s,要是带了岁月单位,服务将不可能起动。

  暗许情形下,钦定slow_query_log =
1的动静其运维MySQL,就能够展开慢查询,自动生成二个暗许的以主机名++‘slow’.log
的文书来记录超越执行超越10s的慢查询。

正如是八个记下到日志文件中的慢sql的事必躬亲

  也能够显式内定慢查询的日志文件名称(不设有会自动创设)和著录慢查询的时光阈值(非暗中同意的10s)。

三、记录慢查询日志到表

  www.2138.com 3

布署:要求充足二个log_output的安插,就足以将慢查询记录到表中了

  注意在安排文件中钦命long_query_time的时候,无需时刻单位,只供给二个值,举个例子1就代表1s,借使带了时光单位,服务将不恐怕运维。

mysql库上面有二个暗中认可的slow_log表,可以平素将slow_query_log_file = slow_log,就可以将慢查询日志记录到表中。

  www.2138.com 4

记录到的slow
sql如下,能够窥见sql_text是四个二进制的新闻,并不是原始的sql文本

  如下是三个笔录到日志文件中的慢sql的言传身教

能够通过CONVERT函数转变一下就可以。

  www.2138.com 5

有关慢查询记录到日志文件和表中的差异:

  3,记录慢查询日志到表

1、慢查询记录到日志文件和表中,记录本人分裂相当小,要是是记录在表中,慢查询的试行时间消息不可能正确到神秘,

  配置:必要加上叁个log_output的构造,就足以将慢查询记录到表中了

2、假设将慢查询消息记录在表中,方便查询,但因为是布局化的数目,恐怕会比记录在慢查询日志文件中要慢一丢丢,假诺是记录到文件,必要mysqldumpslow工具剖析。

www.2138.com 6

3、慢查询不记录实践停业的询问,譬如long_query_time设置为10,几个查询超越了10分钟,可是因为其余原因实践停业,MySQL的慢查询将不能够记录此询问新闻。

  mysql库上面有一个暗中同意的slow_log表,能够平昔将slow_query_log_file
= slow_log,就能够将慢查询日志记录到表中。

总结

  www.2138.com 7

以上正是那篇小说的全体内容了,希望本文的剧情对大家的读书只怕干活能拉动一定的有倾囊相助,假如分外大家能够留言沟通,感激咱们对台本之家的支撑。

   记录到的slow
sql如下,能够窥见sql_text是一个二进制的音讯,实际不是原始的sql文本

  www.2138.com 8

  能够通过CONVERT函数调换一下就能够。

  www.2138.com 9

 

有关慢查询记录到日志文件和表中的区分:

   1,慢查询记录到日志文件和表中,记录自身区别十分的小,假使是记录在表中,慢查询的实行时间消息不能正确到神秘,

  
2,若是将慢查询新闻记录在表中,方便查询,但因为是布局化的数目,大概会比记录在慢查询日志文件中(平面文本文件)要慢一丝丝(个人推断),要是是记录到文件,必要mysqldumpslow工具分析。

   3,慢查询不记录施行停业的询问,比方long_query_time设置为10(10分钟),一个查询超过了10分钟,但是因为其余原因施行歇业,MySQL的慢查询将不能够记录此询问信息。

20180701补充:

  慢查询是或不是会记录因为被阻塞引致的超越慢查询设置的阈值的sql?答案是不会。 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图