中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysqldumpslow日志分析的案例

發布時間:2021-11-06 08:58:23 來源:億速云 閱讀:146 作者:小新 欄目:MySQL數據庫

小編給大家分享一下mysqldumpslow日志分析的案例,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

一、mysqldumpslow

官方文檔:http://dev.mysql.com/doc/refman/5.1/en/mysqldumpslow.html

shell> mysqldumpslow [options] [log_file ...]

Table 4.12. mysqldumpslow Option Reference

FormatConfig FileDescriptionIntroductionDeprecatedRemoved-aDo not abstract all numbers to N and strings to S-n numAbstract numbers with at least the specified digits--debugdebugWrite debugging information-g patternOnly consider statements that match the pattern--helpDisplay help message and exit-h nameHost name of the server in the log file name-i nameName of the server instance-lDo not subtract lock time from total time-rReverse the sort order-s valueHow to sort output-t numDisplay only first num queries--verboseverboseVerbose mode

mysql有一個功能就是可以log下來運行的比較慢的sql語句,默認是沒有這個log的,為了開啟這個功能,要修改my.cnf或者在mysql啟動的時候加入一些參數。如果在my.cnf里面修改,需增加如下幾行

long_query_time = 1
log-slow-queries = /var/youpath/slow.log
log-queries-not-using-indexes

long_query_time 是指執行超過多久的sql會被log下來,這里是1秒。
log-slow-queries 設置把日志寫在那里,可以為空,系統會給一個缺省的文件host_name-slow.log,我生成的log就在mysql的data目錄
log-queries-not-using-indexes 就是字面意思,log下來沒有使用索引的query。

把上述參數打開,運行一段時間,就可以關掉了,省得影響生產環境。

接下來就是分析了,我這里的文件名字叫host-slow.log。
mysqldumpslow –help以下,俺主要用的是
-s ORDER what to sort by (t, at, l, al, r, ar etc), ‘at’ is default
-t NUM just show the top n queries
-g PATTERN grep: only consider stmts that include this string

-s,是order的順序,說明寫的不夠詳細,俺用下來,包括看了代碼,主要有
c,t,l,r和ac,at,al,ar,分別是按照query次數,時間,lock的時間和返回的記錄數來排序,前面加了a的時倒敘
-t,是top n的意思,即為返回前面多少條的數據
-g,后邊可以寫一個正則匹配模式,大小寫不敏感的

mysqldumpslow -s c -t 20 host-slow.log
mysqldumpslow -s r -t 20 host-slow.log

上述命令可以看出訪問次數最多的20個sql語句和返回記錄集最多的20個sql。
mysqldumpslow -t 10 -s t -g “left join” host-slow.log
這個是按照時間返回前10條里面含有左連接的sql語句。

用了這個工具就可以查詢出來那些sql語句是性能的瓶頸,進行優化,比如加索引,該應用的實現方式等。

二、mysqldumpslow

MySQL 自帶 slow log 的分析工具 mysqldumpslow ,但是沒有說明。本文通過分析該腳本,介紹了其用法。
slow log 是 MySQL 根據 SQL 語句的執行時間設定,寫入的一個文件,用于分析執行較慢的語句。

只要在 my.cnf 文件中配置好:
log-slow-queries = [slow_query_log_filename]
即可記錄超過默認的 10s 執行時間的 SQL 語句。
如果要修改默認設置,可以添加:
long_query_time = 5
設定為 5s 。

如果要記錄所有 SQL 語句,可以寫入:
log-long-format



# t=time, l=lock time, r=rows
# at, al, 以及 ar 是對應的平均值

mysqldumpslow 可以接受的參數有:
'v+', # verbose
'd+', # debug
's=s', # 排序 (t, at, l, al, r, ar etc)
'r!', # 倒排序 (largest last instead of first)
't=i', # 顯示最高的 n 個查詢
'a!', # 不把所有的數字以 N ,字符串以 'S' 顯示
'n=i', # abstract numbers with at least n digits within names
'g=s', # grep: only consider stmts that include this string
'h=s', # hostname of db server for *-slow.log filename (can be wildcard)
'i=s', # name of server instance (if using mysql.server startup script)
'l!', # don't subtract lock time from total time

'verbose|v+',# verbose
'help+', # write usage info
'debug|d+', # debug
's=s', # what to sort by (t, at, l, al, r, ar etc)
'r!', # reverse the sort order (largest last instead of first)
't=i', # just show the top n queries
'a!', # don't abstract all numbers to N and strings to 'S'
'n=i', # abstract numbers with at least n digits within names
'g=s', # grep: only consider stmts that include this string
'h=s', # hostname of db server for *-slow.log filename (can be wildcard)
'i=s', # name of server instance (if using mysql.server startup script)
'l!', # don't subtract lock time from total time

以時間倒序顯示前10個慢查詢日志:mysqldumpslow -s at -t 10 /var/db/mysql/db-slow.log

看完了這篇文章,相信你對“mysqldumpslow日志分析的案例”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永昌县| 铁岭县| 萨嘎县| 枣庄市| 吉首市| 南澳县| 宁明县| 梅州市| 克东县| 林周县| 宜阳县| 霍州市| 札达县| 宁晋县| 平果县| 满城县| 石首市| 曲靖市| 兴城市| 博兴县| 志丹县| 台湾省| 长春市| 信阳市| 海南省| 南岸区| 湖北省| 天门市| 沂南县| 沁阳市| 兰溪市| 延吉市| 卫辉市| 德清县| 湘西| 琼结县| 孟州市| 大余县| 任丘市| 自治县| 武穴市|