mysql慢查詢日誌視覺化 Mysql慢查詢日誌

2021-10-19 19:29:39 字數 2317 閱讀 8068

mysql慢查詢日誌

資料庫的慢查詢是影響專案效能的一大因素,對於資料庫我們要優化sql,首先要找到需要優化的sql,這就需要我們知道sql執行時間等資訊,除了使用show profiles;外,mysql也提供了「慢查詢日誌」功能,用來記錄查詢時間超過某個設定值的sql,這將極大程度幫助我們快速定位到癥結所在,以便對症下藥。

一、慢查詢配置

關於慢查詢日誌,主要涉及三個引數:

slow_query_log :是否開啟慢查詢日誌功能(必填)

long_query_time :超過設定值,將被視作慢查詢,並記錄至慢查詢日誌檔案中(必填)

slow_query_log_file :慢查詢日誌檔案(不必填),可以通過show variables like '%slow_query%';查詢日誌位置

開啟慢查詢日誌有兩種方式:

1. 通過命令列

不需要重啟命令列,臨時性的,退出mysql終端就失效。

# 以下操作管理員才有許可權

mysql> set global slow_query_log = on;

query ok, 0 rows affected (0.04 sec)

# 設定查詢「超時」時間(這裡為了方便日誌列印,將超過0.001s的都作為慢查詢)

mysql> set global long_query_time = 0.001;

query ok, 0 rows affected (0.00 sec)

2. 通過配置檔案

需要重啟mysql

# 慢日誌相關配置

slow_query_log = on

long_query_time = 0.001

slow_query_log_file = /usr/local/mysql/data/slow.log

二、慢日誌查詢

如果操作正確,那麼在日誌裡面就會看到類似下面的:

# time: 200303 14:54:38

# user@host: wangjun[wangjun] @ localhost

# thread_id: 47 schema: scujoo qc_hit: no

# query_time: 0.024923 lock_time: 0.000130 rows_sent: 3488 rows_examined: 3488

# rows_affected: 0 bytes_sent: 354872

set timestamp=1583218478;

select * from account;

/usr/sbin/mysqld, version: 10.3.15-mariadb-1-log (raspbian testing-staging). started with:

tcp port: 0 unix socket: /run/mysqld/mysqld.sock

time id command argument

# time: 200303 15:05:30

# user@host: [root] @ localhost

# thread_id: 8 schema: mysql qc_hit: no

# query_time: 0.001743 lock_time: 0.000168 rows_sent: 1 rows_examined: 1

# rows_affected: 0 bytes_sent: 252

use mysql;

set timestamp=1583219130;

show variables like 'datadir';

# user@host: [root] @ localhost

# thread_id: 10 schema: qc_hit: no

# query_time: 0.007002 lock_time: 0.000238 rows_sent: 36 rows_examined: 69

# rows_affected: 0 bytes_sent: 2391

set timestamp=1583219130;

select concat('select count(*) into @discard from `',

table_schema, '`.`', table_name, '`')

from information_schema.tables where table_schema<>'information_schema' and table_schema<>'performance_schema' and ( engine='myisam' or engine='aria' );

# time: 200303 15:06:41

mongo日誌視覺化

原始mongod.log格式 2020 11 26t21 33 45.896 0800 i network listener connection accepted from 10.10.6.192 52138 1663452 121 connections now open 2020 11 26t...

mysql開啟慢查詢日誌 MySQL慢日誌體系建設

慢查詢日誌是mysql提供的一種日誌記錄,用來記錄在mysql中響應時間超過閾值的sql語句,在很大程度上會影響資料庫整體的效能,是mysql優化的乙個重要方向。在58的雲db平台建設中,慢sql系統作為乙個非常重要功能模組,不僅是dba日常運維使用,我們也希望通過該功能可以協助開發人員更快速定位業...

mysql慢日誌時間 MySQL慢查詢日誌優化

一 慢查詢日誌概念 mysql的慢查詢日誌是mysql提供的一種日誌記錄,它用來記錄在mysql中響應時間超過閥值的語句,具體指執行時間超過long query time值的sql,則會被記錄到慢查詢日誌中。long query time的預設值為10,意思是執行10s以上的語句。預設情況下,mys...