溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mysql中怎么配置慢查詢

發(fā)布時(shí)間:2021-08-04 17:50:38 來源:億速云 閱讀:615 作者:Leah 欄目:數(shù)據(jù)庫

mysql中怎么配置慢查詢,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

慢查詢配置
 
MYSQL慢查詢
1. 慢查詢有什么用?
它能記錄下所有執(zhí)行超過long_query_time時(shí)間的SQL語句, 幫你找到執(zhí)行慢的SQL, 方便我們對(duì)這些SQL進(jìn)行優(yōu)化.
2. 如何開啟慢查詢?
首先我們先查看MYSQL服務(wù)器的慢查詢狀態(tài)是否開啟.
執(zhí)行如下命令:

 
我們可以看到當(dāng)前l(fā)og_slow_queries狀態(tài)為OFF, 說明當(dāng)前并沒有開啟慢查詢.
開啟慢查詢非常簡(jiǎn)單, 操作如下:
方法一: 找到mysql的配置文件my.cnf(/etc/my.cnf), 在mysqld下方加入慢查詢的配置語句(注意:一定要在[mysqld]下的下方加入, 如果是在[mysqld_safe]下面加入配置語句是不會(huì)生效的. 我在配置過程中就犯了這個(gè)錯(cuò)誤, 親身體會(huì)到了其痛苦!)

 
log-slow-queries: 代表MYSQL慢查詢的日志存儲(chǔ)目錄, 此目錄文件一定要有寫權(quán)限,.
long_query_time: 最長執(zhí)行時(shí)間. (如圖, MSYQL將記錄下所有執(zhí)行時(shí)間超過2條的SQL語句, 此處為測(cè)試時(shí)間, 時(shí)間不應(yīng)太小最好在5-10秒之內(nèi), 當(dāng)然可以根據(jù)自己的標(biāo)準(zhǔn)而定);
配置好以后重新啟動(dòng)一個(gè)MYSQL:
service mysqld restart
方法二: 在mysql命令行下執(zhí)行如下操作: (求解ing)

 
通過set 命令來設(shè)置MYSQL變量的狀態(tài). 但我測(cè)試一直未通過,  我懷疑可能是MYSQL版本的問題.
  www.2cto.com  

 
網(wǎng)上找了好多資料, 但未得到解決, 希望高手路過能幫我解答一下.
配置完成后我們?cè)賮聿榭匆幌庐?dāng)前的狀態(tài);你會(huì)發(fā)現(xiàn)如下:

 
說明已經(jīng)開啟了慢查詢服務(wù), 并且時(shí)間限制為2秒.
我們?cè)儆^察一下/var/lib/mysql/目錄下面是否自動(dòng)創(chuàng)建了mysql-slow.log文件.

 
cat mysql-slow.log 發(fā)現(xiàn)文件已存在. 只是文件中并沒有任務(wù)SQL的記錄. 那么現(xiàn)在我們測(cè)試一下執(zhí)行一條超過long_query_time的SQL語句.

 
執(zhí)行完了一個(gè)3秒的SQL語句, 不出意外的情況下mysql-slow.log文件中應(yīng)該記錄下了這條SQL語句. OK! 我們cat mysql-slow.log一下.

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問一下細(xì)節(jié)
AI