[精讚] [會員登入]
7077

[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] 使用union合併兩個表 mysql合併兩個表的方法,使用union

[MySQL/Mariadb] console 將查詢結果輸出到檔案 在mysql 的console中該如何將查詢結果輸出到檔案?

[Mysql/MariaDB] 清除及設定 MySQL 的死連接 mysql 伺服器若有太多的連接,無疑的會耗用非常多的資源,若資源耗盡會影響新的連線,勢必要做一些調整

[Mysql/MariaDB] 查看資料庫所占空間 查看資料庫在磁碟中所占空間

[MYSQL] 把SELECT的結果UPDATE到表中 Mysql update select 出來的結果,一次完成

Mysql INSERT ... ON DUPLICATE KEY UPDATE 寫法,MYSQL如果存在的修改,不存在就新增的寫法 Mysql有則修改,無則新增的sql寫法

隨機好文

[Windows7] 移除IE10及移除IE11 Windows7 不得已的情況要移除IE11或IE10怎麼做?

[JAVA] JWS, JWT, JWE, JOSE是什麼? [JAVA] JWS, JWT, JWE, JOSE是什麼?非常的複雜,儘量來搞清楚..

UTF-8的網頁但IE8一片空白 UTF8編碼的網頁在Firefox 正常顯示、但IE8 就是空白,IE8編碼設定是「自動偵測」可是自動偵測到的是 big5...

[CodeIgniter 3] 資料庫的使用方法整理1/2 --Select的使用 [CodeIgniter 3] 資料庫的使用方法整理:Select的使用

[MYSQL] 設定字串欄位的預設值 新增表格的時候,字串欄位給予預設空值;數字欄位給預設數值;日期欄位給空值。