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

溫馨提示×

溫馨提示×

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

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

MySQL慢日志的相關配置

發布時間:2021-09-16 07:41:04 來源:億速云 閱讀:165 作者:chen 欄目:大數據

本篇內容主要講解“MySQL慢日志的相關配置”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“MySQL慢日志的相關配置”吧!

slow_query_log      #是否開啟慢查詢日志,1表示開啟,0表示關閉
log_slow_queries    #舊版(5.6以下版本)MySQL數據庫慢查詢日志存儲路徑。可以不設置該參數,系統則會默認給一個缺省的文件host_name-slow.log(參數已過時)
slow_query_log_file #新版(5.6及以上版本)MySQL數據庫慢查詢日志存儲路徑。可以不設置該參數,系統則會默認給一個缺省的文件host_name-slow.log(替換log_slow_queries)
long_query_time     #慢查詢閾值,默認為10s,當查詢時間多于設定的閾值時,記錄日志
log_queries_not_using_indexes   #未使用索引的查詢也被記錄到慢查詢日志中(可選項)
log_output  #日志存儲方式。log_output='FILE'表示將日志存入文件,默認值是'FILE'。log_output='TABLE'表示將日志存入數據庫,這樣日志信息就會被寫入到mysql.slow_log表中。MySQL數據<br>庫支持同時兩種日志存儲方式,配置的時候以逗號隔開即可,如:log_output='FILE,TABLE'。日志記錄到系統的專用日志表中,要比記錄到文件耗費更多的系統資源,因此對于需要啟用慢查詢日志,又需<br>要能夠獲得更高的系統性能,那么建議優先記錄到文件
慢日志配置
默認情況下slow_query_log的值為OFF,表示慢查詢日志是禁用的,可以通過設置slow_query_log的值來開啟,如下所示:
mysql> show variables like '%slow_query_log%';
+---------------------+------------------------------------------+
| Variable_name       | Value                                    |
+---------------------+------------------------------------------+
| slow_query_log      | OFF                                      |
| slow_query_log_file | /usr/local/mysql/data/localhost-slow.log |
+---------------------+------------------------------------------+
2 rows in set (0.00 sec)
 
mysql> set global slow_query_log=1;
Query OK, 0 rows affected (0.00 sec)
 
mysql> show variables like '%slow_query_log%';
+---------------------+------------------------------------------+
| Variable_name       | Value                                    |
+---------------------+------------------------------------------+
| slow_query_log      | ON                                       |
| slow_query_log_file | /usr/local/mysql/data/localhost-slow.log |
+---------------------+------------------------------------------+
2 rows in set (0.00 sec)
#使用set global slow_query_log=1開啟了慢查詢日志只對當前數據庫生效,MySQL重啟后則會失效。如果要永久生效,就必須修改配置文件my.cnf(其它系統變量也是如此)

修改my.cnf文件,增加或修改參數slow_query_log 和slow_query_log_file后,然后重啟MySQL服務器,如下所示:
slow_query_log =1
slow_query_log_file=/usr/local/mysql/data/localhost-slow.log

mysql> show variables like 'slow_query%';
+---------------------+---------------------+
| Variable_name       | Value               |
+---------------------+---------------------+
| slow_query_log      | ON                  |
| slow_query_log_file | /usr/local/mysql/data/localhost-slow.log |
+---------------------+---------------------+
rows in set (0.00 sec)
 
mysql> 
#慢查詢的參數slow_query_log_file ,它指定慢查詢日志文件的存放路徑,系統默認會給一個缺省的文件host_name-slow.log
mysql自帶的慢日志分析工具
mysqldumpslow --help
Usage: mysqldumpslow [ OPTS... ] [ LOGS... ]

Parse and summarize the MySQL slow query log. Options are

  --verbose    verbose
  --debug      debug
  --help       write this text to standard output

  -v           verbose
  -d           debug
  -s ORDER     what to sort by (al, at, ar, c, l, r, t), 'at' is default
                al: average lock time
                ar: average rows sent
                at: average query time
                 c: count
                 l: lock time
                 r: rows sent
                 t: query time  
  -r           reverse the sort order (largest last instead of first)
  -t NUM       just show the top n queries
  -a           don't abstract all numbers to N and strings to 'S'
  -n NUM       abstract numbers with at least n digits within names
  -g PATTERN   grep: only consider stmts that include this string
  -h HOSTNAME  hostname of db server for *-slow.log filename (can be wildcard),
               default is '*', i.e. match all
  -i NAME      name of server instance (if using mysql.server startup script)
  -l           don't subtract lock time from total time
##############################################################################  
  -s, 是表示按照何種方式排序
    c: 訪問計數
 
    l: 鎖定時間
 
    r: 返回記錄
 
    t: 查詢時間
 
    al:平均鎖定時間
 
    ar:平均返回記錄數
 
    at:平均查詢時間
 
-t, 是top n的意思,即為返回前面多少條的數據;
-g, 后邊可以寫一個正則匹配模式,大小寫不敏感的;
 
比如:
得到返回記錄集最多的10個SQL。
mysqldumpslow -s r -t 10 /database/mysql/mysql06_slow.log
 
得到訪問次數最多的10個SQL
mysqldumpslow -s c -t 10 /database/mysql/mysql06_slow.log
 
得到按照時間排序的前10條里面含有左連接的查詢語句。
mysqldumpslow -s t -t 10 -g “left join” /database/mysql/mysql06_slow.log
 
另外建議在使用這些命令時結合 | 和more 使用 ,否則有可能出現刷屏的情況。
mysqldumpslow -s r -t 20 /mysqldata/mysql/mysql06-slow.log | more
##############################################################################
清理mysql-bin
命令行:
reset master;
reset slave;
針對主從場景

配置my.cnf:
log-bin = mysql-bin     #可注釋掉
binlog_format = mixed   #binlog記錄的模式
expire_logs_days = 7    #設置保留天數 
重啟mysql生效

到此,相信大家對“MySQL慢日志的相關配置”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

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

AI

雅安市| 顺平县| 连州市| 藁城市| 台山市| 永泰县| 南和县| 普安县| 土默特左旗| 文水县| 合山市| 沽源县| 眉山市| 财经| 临湘市| 榆中县| 渭源县| 抚顺市| 河南省| 琼海市| 芒康县| 达拉特旗| 武鸣县| 沙坪坝区| 镇安县| 大名县| 台东县| 鲜城| 日土县| 忻城县| 赣州市| 卢湾区| 拜泉县| 惠水县| 鸡西市| 尉犁县| 怀化市| 阿拉善盟| 龙川县| 海兴县| 永城市|