MySQL配置慢查询日志及使用说明
注意:
1.設置慢查詢日志配置的賬號需要數據庫root賬號登錄
2.必須讓mysql用戶對慢查詢日志有可寫(w=2),上級目錄可執行(x=1)的權限,否則無法開啟慢查詢日志
3.開啟了慢查詢日志會記錄所有數據庫符合條件的SQL?
配置參數:
long_query_time:執行時間,單位 秒。設置時不需加單位s
slow_query_log_file:慢查詢日志保存目錄,設置時目錄路徑需要加引號''
slow_query_log:開關慢查詢;ON 開啟;OFF關閉
log_query_not_using_indexse:?記錄所有未使用索引的SQL;ON 開啟;OFF關閉
查看:
# show variables like '參數名';
設置:
# set global 參數名=xx;
使用:
1.# more/cat 慢查詢日志名
沒有執行次數
用more命令,按空格翻下頁瀏覽。直接瀏覽不會過濾掉同類型重復執行的SQL
屬性:
Time:SQL什么時候執行的
User@Host:數據庫用戶名@客戶端ip
Query_time:SQL執行時間
Lock_time:鎖時間
Rows_sent:執行成功后返回的行數
Rows_examined:檢索行數
(精度保留到小數點后6位,單位秒)
最下面的是執行的SQL語句
使用MySQL自動的mysqldumpslow工具(mysql安裝目錄/bin/mysqldumpslow)或pt-query-digest工具(下載安裝percona),瀏覽時可自動過濾掉重復的SQL
percona下載安裝說明:https://blog.csdn.net/qq_41912505/article/details/103804591
2.# mysqldumpslow?慢查詢日志名
沒有檢索行數
?屬性:
Count:執行次數
Time:執行時間的最大值(總執行時間)
Lock:鎖時間的最大值(總鎖時間)
Rows:返回的最大行數(總返回行數)
數據庫用戶名@客戶端ip
最下面是執行的SQL語句
3.#?pt-query-digest?慢查詢日志名
屬性:
Query:第幾條SQL
Count:執行次數
Exec time:執行時間
Lock time:鎖時間
Row sent:返回行數
Row examine:檢索行數
(pct:占總慢查詢比例;total:總和;min:最小;max:最大;avg:平均;95%:大部分;median:中間值)
Databases:數據庫
Hosts:客戶端
Users:數據庫用戶
Query_time distribution:執行時間分布
Tables:表
EXPLAIN:執行計劃
最下面是執行的SQL語句
主優化:執行次數多,且檢索行數遠大于返回行數的SQL
總結
以上是生活随笔為你收集整理的MySQL配置慢查询日志及使用说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 慢查询工具percona安装
- 下一篇: 公司型基金与契约型基金区别