小編給大家分享一下MySQL如何開(kāi)啟慢查日志,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
在諸暨等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),營(yíng)銷型網(wǎng)站,成都外貿(mào)網(wǎng)站制作,諸暨網(wǎng)站建設(shè)費(fèi)用合理。在開(kāi)發(fā)項(xiàng)目中,我們可以通過(guò)MySQL的慢查詢?nèi)罩緦?duì)有效率問(wèn)題的SQL進(jìn)行監(jiān)控。
下面一些命令是開(kāi)啟日志:
查找慢查詢?nèi)罩疚募哪夸?/p>
show variables like 'slow_query_log'
設(shè)置慢日志文件目錄文件
set global slow_query_log_file='home/mysql/sql_log/mysql_slow.log'
是否把沒(méi)有使用索引的sql記錄在日志中
set global log_queries_not_using_indexes=on
設(shè)置超過(guò)多少秒的sql記錄在日志中
set global long_query_time=1
在這里這個(gè)時(shí)間通常比較大,最好設(shè)置在0.01s比較好,更具自己的情況而定。
下面我們實(shí)際的來(lái)執(zhí)行一下命令:
首先查看日志文件位置:
可以看出我們的slow_query_log是off,說(shuō)明我們沒(méi)有開(kāi)啟慢查日志。
通過(guò)show variables like '%log'
命令查看日志的狀態(tài),如果我們的log_queries_not_using_indexes選項(xiàng)為OFF,
那我們就需要對(duì)他設(shè)置為on開(kāi)啟。
然后在通過(guò)命令查看long_query_time的值是否被設(shè)置,如果為0,就說(shuō)明不管是什么查詢都會(huì)被記錄在日志當(dāng)中。
這里需要注意在生成環(huán)境中,短時(shí)間可能會(huì)有大量的日志。
下面我們看下日志的存儲(chǔ)格式:
格式如下:
#查詢的執(zhí)行時(shí)間 #Time:140606 12:30:17 #SQL執(zhí)行的主機(jī)信息 #User@Host:root[root] @ localhost [] #SQL的執(zhí)行信息,查詢執(zhí)行時(shí)間 鎖定時(shí)間 發(fā)送的行數(shù)和掃描的行數(shù) #Query_time:0.000031 Locak_time:0.000000 Rows_sent:0 Rows_examined:0 #SQL執(zhí)行時(shí)間 SET timestamp=1402029017; #執(zhí)行的SQL內(nèi)容 show tables;
以上是“MySQL如何開(kāi)啟慢查日志”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!