慢查詢日誌的管理
前言:慢查詢日誌是mysql的另一個調優的入口,透過定義效率慢的sql語句,然後mysql根據這個定義記錄在相應的日誌裡面,所以就叫慢查詢日誌;
引數概況:
檢查引數的檢視:SHOW VARIABLES LIKE 'slow_query_log';
mysql> SHOW VARIABLES LIKE 'slow_query_log'; +----------------+-------+ | Variable_name | Value | +----------------+-------+ | slow_query_log | ON | +----------------+-------+ 1 row in set (0.00 sec)
當引數值為ON為開啟,引數值為OFF為關閉; |
相關引數:
可以在/etc/my.cnf檔案中修改或透過set命令來操作,詳細的操作可以檢視已發的文件『深入理解mysql引數』
1、慢查詢日誌的開關:SET GLOBAL slow_query_log=ON/OFF,透過設定ON/OFF來進行開關;
2、慢查詢日誌的位置:slow_query_log_file=/data/mysql,檔案路徑
3、指定多少秒未返回結果的語句屬於慢查詢:long_query_time=10,超過10s鍾
4、記錄所有沒有使用到索引的查詢語句:long-queries-not-using-indexes
5、記錄那些由於查詢了多於1000次而引發的慢查詢:min_examined_row_limit=1000
6、記錄那些慢的OPTIMIZE TABLE\ANALYZE TABLE\ALTER TABLE語句:log_slow_admin-statements
7、記錄有slave所產生的慢查詢:log-slow-slave-statements
引數檢視:
mysql> SHOW VARIABLES LIKE 'slow_query_log'; +----------------+-------+ | Variable_name | Value | +----------------+-------+ | slow_query_log | ON | /當前系統的慢查詢開啟狀態/ +----------------+-------+ 1 row in set (0.01 sec)
mysql> SHOW VARIABLES LIKE 'slow_query_log_file'; +---------------------+----------------------------+ | Variable_name | Value | +---------------------+----------------------------+ | slow_query_log_file | /data/mysql/mysql-slow.log | /慢查詢日誌的位置/ +---------------------+----------------------------+ 1 row in set (0.00 sec)
mysql> SHOW VARIABLES LIKE 'long_query_time'; +-----------------+-----------+ | Variable_name | Value | +-----------------+-----------+ | long_query_time | 10.000000 | /獲取超過10S的SQL語句/ +-----------------+-----------+ 1 row in set (0.00 sec) |
例子:select sleep(15);
mysql> select sleep(14); +-----------+ | sleep(14) | +-----------+ | 0 | +-----------+ 1 row in set (14.00 sec)
mysql> quit -bash-4.1# cat /data/mysql/slow-log /usr/local/mysql/bin/mysqld, Version: 5.5.36-log (Source distribution). started with: Tcp port: 3306 Unix socket: /tmp/mysql.sock Time Id Command Argument # Time: 140904 17:39:36 # User@Host: root[root] @ localhost [] # Query_time: 14.000705 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0 SET timestamp=1409823576; select sleep(14); ---這就是抓取的慢查詢日誌 |
總結:在實際的生產系統中,慢查詢日誌一般是不啟用的;
如果需要的話一般都開啟一段時間跟蹤系統中的緩慢語句;
生產系統中該日誌也會不斷的增長,可以透過作業系統命令進行刪除;
當慢查詢日誌很大的情況下,可以透過工具進行分析,分析的工具有Mysqldumpslow、mysqlsla等
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
本文作者:JOHN 某上市公司DBA
資料庫技術群:367875324 (該群有諸多公司的IT負責人,加入請備註資料庫管理 )
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8494287/viewspace-1356140/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL:慢查詢日誌MySql
- 使用慢查詢日誌
- mysql慢查詢日誌MySql
- PHP慢指令碼日誌和Mysql的慢查詢日誌PHP指令碼MySql
- 關於MySQL 通用查詢日誌和慢查詢日誌分析MySql
- 開啟查詢慢查詢日誌引數
- 慢查詢日誌開啟分析
- 【MySQL】慢查詢日誌不列印MySql
- mysqlsla 分析mysql慢查詢日誌MySql
- MySQL 慢查詢日誌——讓“慢”無所遁形MySql
- Redis慢查詢日誌學習功能Redis
- mysql之 slow log 慢查詢日誌MySql
- MySQL Slow Query log(慢查詢日誌)MySql
- mysql慢查詢日誌分析工具使用MySql
- Mysql慢查詢日誌分析工具mysqlslaMySql
- 【MySql】 慢日誌查詢工具之mysqlslaMySql
- MySQLSlowlog慢查詢日誌的配置以及清空日誌內容MySql
- 對 MySQL 慢查詢日誌的簡單分析MySql
- 分析mysql慢查詢日誌的好工具--mysqlslaMySql
- 筆記 mongo查詢慢日誌,建立索引筆記Go索引
- MySQL慢查詢日誌相關設定MySql
- 【轉載】MySQL慢查詢日誌總結MySql
- mysql慢查詢和錯誤日誌分析MySql
- 線上安全清空慢查詢日誌slowlog
- MYSQL開啟慢查詢日誌實施MySql
- mysql開啟檢視慢查詢日誌MySql
- 用命令過濾MySQL慢查詢日誌MySql
- Mysql慢查詢日誌檔案轉ExcelMySqlExcel
- MySQL資料庫中的日誌檔案---(3)慢查詢日誌MySql資料庫
- Linux下mysql配置慢日誌查詢,把查詢慢的sql記錄下來LinuxMySql
- 資料庫MySQL一般查詢日誌或者慢查詢日誌歷史資料的清理資料庫MySql
- 如何在MySQL中開啟慢查詢日誌?MySql
- mysql分析慢查詢日誌工具mysqlsla安裝MySql
- Mysql 啟動慢查詢日誌 (不用重啟)MySql
- 【MySql】mysql 慢日誌查詢工具之mysqldumpslowMySql
- 【ElasticSearch】給ElasticSearch資料庫配置慢查詢日誌Elasticsearch資料庫
- mysql 日誌之慢查詢日誌MySql
- loki的日誌查詢Loki