首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 運行狀態監控指令全集:SHOW STATUS、VARIABLES、PROCESSLIST 與 mysqladmin

     編輯:MySQL 資料庫相關知識

1. SHOW STATUS — 伺服器狀態計數器

SHOW GLOBAL STATUS;        -- 全域累計
SHOW SESSION STATUS;       -- 當前會話
SHOW STATUS LIKE 'Key%';   -- 模糊過濾

關鍵指標:

2. SHOW VARIABLES — 系統配置參數

SHOW GLOBAL VARIABLES;
SHOW VARIABLES LIKE 'max_connections';
SHOW VARIABLES LIKE 'innodb_%';

常用調優參數:max_connections, innodb_buffer_pool_size, query_cache_size, sort_buffer_size, tmp_table_size 等。

3. SHOW PROCESSLIST — 即時執行緒檢視

SHOW FULL PROCESSLIST;  -- 顯示完整 SQL 文本

欄位解讀:

變數含義關注點
Threads_connected當前連線數接近 max_connections 報警
Threads_running正在執行查詢的執行緒持續高位 = 擁塞
Questions啟動以來總查詢數計算 QPS
Slow_queries慢查詢數配合 slow_query_log 分析
Innodb_buffer_pool_reads磁碟讀取頁數緩存命中率 = 1 - reads / (reads + read_requests)
Innodb_row_lock_waits行鎖等待次數高則檢查熱點行/索引
Aborted_connects中斷連線數網路/認證問題
欄位說明
Id連線 ID,可用 KILL id 終止
User登入用戶
Host客戶端 IP:Port
db當前資料庫
CommandSleep/Query/Connect 等
Time當前狀態持續秒數
StateSending data / Locked / Copying to tmp table 等
Info正在執行的 SQL(FULL 才完整顯示)

排查鎖等待、長查詢、Sleep 連線堆積的首選工具。

4. SHOW OPEN TABLES — 開啟表快取狀態

SHOW OPEN TABLES FROM db_name;

配合 table_open_cache 參數調優。

5. mysqladmin 命令列工具

# 單次快照
mysqladmin -uroot -p status
# 輸出範例:
Uptime: 87117  Threads: 1  Questions: 5481626  Slow queries: 16  Opens: 2211  Flush tables: 1  Open tables: 512  Queries per second avg: 62.92

# 每 5 秒自動刷新
mysqladmin -uroot -p status -i 5

# 完整狀態變數(等同 SHOW GLOBAL STATUS)
mysqladmin -uroot -p extended-status

6. 整合監控建議

  • 將上述指標接入 Prometheus mysqld_exporter,Grafana 建儀表板。
  • 關鍵告警:Threads_connected > 0.8 * max_connections、Slow_queries 速率上升、Innodb_row_lock_waits 突增、Aborted_connects > 0。
  • 慢查詢日誌必開:slow_query_log=1, long_query_time=1, log_queries_not_using_indexes=1。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved