MySql的慢查詢分析及開啟慢查詢日志的詳細介紹

本篇文章主要介紹了詳解mysql的慢mysql分析及開啟慢查詢日志,具有一定的參考價值,感興趣的小伙伴們可以參考一下。

我最近也在研究MySQLmysql的路上,那么今天也算個學習筆記吧!

在小伙伴們開發的項目中,對于MySQL排查問題找出性能瓶頸來說,最容易發現并解決的問題就是MYSQL的慢查詢以及沒有得用索引的查詢。

接下來教大家如何開啟MySQL5.0版本以上的慢查詢日志記錄;

OK,一起開始找出mysql中執行起來不“爽”的sql語句吧。

首先,我們通過mysql命令進入mysql命令行中:

[root@yunuo_vm?~]#?mysql?-u?root?-p  Enter?password:  Welcome?to?the?MySQL?monitor.?Commands?end?with?;?or?g.  Your?MySQL?connection?id?is?4977  Server?version:?5.6.17?Source?distribution  ?  Copyright?(c)?2000,?2014,?Oracle?and/or?its?affiliates.?All?rights?reserved.  ?  Oracle?is?a?registered?trademark?of?Oracle?Corporation?and/or?its  affiliates.?Other?names?may?be?trademarks?of?their?respective  owners.  ?  Type?'help;'?or?'h'?for?help.?Type?'c'?to?clear?the?current?input?statement.  ?  mysql>

ps:這里的MySQL版本是5.6.17

OK,進入到控制臺了,接下來,我們查看下MySQL默認配置中多少秒才算慢查詢

mysql>?show?variables?like?'long%';  +-----------------+-----------+  |?Variable_name??|?Value???|  +-----------------+-----------+  |?long_query_time?|?10.000000?|  +-----------------+-----------+  1?row?in?set?(0.00?sec)

如上表顯示,系統默認的慢查詢時間上限是10秒,下面我們來把它改成1秒(大家也可以根據自己實際情況來定);

mysql>?set?long_query_time=1;??注:?我設置了1,?也就是執行時間超過1秒的都算慢查詢。  Query?OK,?0?rows?affected?(0.00?sec)

哦了!最后我們來瞅瞅MySQL開啟慢查詢日志記錄沒有;

mysql>?show?variables?like?'slow%';  +---------------------+---------------+  |?Variable_name????|?Value?????|  +---------------------+---------------+  |?slow_launch_time??|?2???????|?  |?slow_query_log???|?OFF??????|  |?slow_query_log_file?|?/tmp/slow.log?|  +---------------------+---------------+

ps:

slow_query_log //是否打開日志記錄

slow_query_log_file //日志存放位置

MySQL默認沒有開啟慢查詢,下面我們來開啟下:

mysql>?set?global?slow_query_log='ON';  Query?OK,?0?rows?affected?(0.00?sec)

至此大功告成?。?!是不是很簡單?

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享