本篇文章主要介紹了詳解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