[精讚] [會員登入]
7192

[Mysql/Mariadb] 查看使用狀態,抓出可疑慢查詢SQL

當Mysql 的負載loading飆高時,除了重新啟動外,如果想對症下藥,那該怎麼處理?

分享此文連結 //n.sfs.tw/11062

分享連結 [Mysql/Mariadb] 查看使用狀態,抓出可疑慢查詢SQL@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2019-10-25 13:46:13 最後編修
2017-05-13 21:29:40 By 張○○
 

自動目錄

顯示目前的SQL語法

mysql>show processlist;

mysql> show status;


$ mysqladmin proc -u user -p

列出MySQL目前的狀態

$ mysqladmin status -u user -p
Uptime: 123612  Threads: 3  Questions: 197247  Slow queries: 0  Opens: 130  Flush tables: 1  Open tables: 124  Queries per second avg: 1.595

參數的意義

Uptime 伺服器運作的秒數

Threads 連線中的客戶數

Questions 從伺服器啟動到目前為使客戶送出的查詢 query數

Slow queries 被標注為慢速的查詢數,只要查詢秒數超過long_query_time的設定就是慢速查詢。

Opens 伺服器有開啟的表數

Flush tables 伺服器有執行過flush-*, refresh, and reload的次數

Open tables 伺服器目前有開啟的表數

Memory in use mysql記憶體用量,只有mysql編譯時有加參數 --with-debug=full. 才會顯示

Maximum memory used mysql直接使用記憶體的最大量,只有mysql編譯時有加參數 --with-debug=full. 才會顯示

Queries per second avg 平均每秒查詢數

處置Slow queries

查看超過幾秒算 slow queries,預設是10秒

mysql> show VARIABLES like 'long_query_time';

設定記錄[1]

# vi /etc/my.cnf

[mysqld]
# 開啟slow_query
slow_query_log=1
long_query_time = 5
slow_query_log_file=slow_queries.log

重啟mysql生效

上面的log file 會放在mysql的資料庫路徑中,Centos 在 /var/lib/mysql

重跑 mysql 之後,若再遇到流量飆高,就下指令看看什麼 SQL 在耗流量吧[1]

$ mysqldumpslow -s r -t 10 /var/lib/mysql/slow_queries.log

參考資料

[1] http://ithelp.ithome.com.tw/questions/10097377

[2] 詳解MySQL四種Log機制 以日誌稽核解析追蹤事件


原文 2011-02-19 14:37:49

END

你可能感興趣的文章

[MySQL] FIND_IN_SET函數,把多筆條件判斷弄成字串 SQL 我們如果要查找某個欄位是否為某個值的時候,如果要判斷的條件很多,可以用這個函數

[Docker] Mariadb-Galera出現Incorrect definition of table mysql.column_stats:'hist_type'及 'histogram' 使用docker的Mariadb-galera出現'hist_type'及 'histogram'型別錯誤的解決方法。

[Mysql/MariaDB] 使用Memory引擎修改及設定最大值的方法 Mysql/MariaDB 使用Memory引擎預設是16MB,修改及設定最大值的方法。

[Mysql] 建立叢集式資料庫4/4--觀察及測試 觀察及測試haproxy+galera建立Mysql的叢集式資料庫,並進行壓力測試

[MySQL/Mariadb] 正規表達式(regular express) mysql的正規表達式很詭異,很不能接受

[Mysql/MariaDB] 使用 LOCATE, POSITION, INSTR來取代 like [Mysql/MariaDB中使用LOCATE, POSITION, INSTR來取代 like的方法

隨機好文

[jQuery] textarea 的取值和給值 HTML 的 TEXTAREA 標籤若要用 jquery 取值,不能使用 .text() 或 .html() ,使用 .

UTF-8 BOM (Byte Order Mark) 的問題 在 Michael Kaplan 那看到 Every character has a story #4: U+feff

UTF8中文字/全形一覽 快速查詢urf-8的中文字,共計13246中文字(5401常用字+7652罕用字+日文或編號),292全形符號,27半形符號。

[bc] linux 的計算機 bc 設定小數位數、計算π、次方根 linux 的計算機 bc 設定小數位數、計算π、次方根

一個邏輯的錯誤刪了全部檔案的經驗 今天本來想做一件很簡單的事,但卻足足浪費我多一倍的時間,再加上刪掉我全部的檔案,原因只是因為我自己的邏輯錯誤。