首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL SHOW 命令大全:狀態、變量、進程、InnoDB 監控

     編輯:MySQL 綜合教學

MySQL SHOW 命令大全:狀態、變量、進程、InnoDB 監控

SHOW 系列命令是 DBA 日常巡檢、故障定位的「聽診器」,能即時查看服務器運行狀態、配置變量、併發線程、InnoDB 內部指標等。本文匯總高頻用法與關鍵指標解讀。

核心 SHOW 命令速查表

命令用途典型篩選範例
SHOW STATUS服務器狀態計數器 (全局/會話)SHOW GLOBAL STATUS LIKE 'Threads_%';
SHOW STATUS LIKE 'Handler_read%';
SHOW VARIABLES系統配置變量 (全局/會話)SHOW VARIABLES LIKE 'innodb_%';
SHOW SESSION VARIABLES LIKE 'sort_buffer_size';
SHOW ENGINE INNODB STATUSInnoDB 內部狀態 (鎖、事務、Buffer Pool、Purge 等)無篩選,輸出極長,建議 \G 垂直顯示
SHOW PROCESSLIST當前線程列表 (SQL、狀態、鎖、時間)SHOW FULL PROCESSLIST; (不截斷 SQL)
SHOW OPEN TABLES打開表緩存狀態SHOW OPEN TABLES WHERE In_use > 0;
SHOW TABLE STATUS表統計信息 (行數、大小、引擎、自增值)SHOW TABLE STATUS LIKE 'order%';
SHOW INDEX FROM tbl索引詳情 (基數、選擇性)判斷索引是否失效、是否需重建
SHOW WARNINGS/ERRORS最近語句的警告/錯誤緊跟執行語句後查看
SHOW GRANTS FOR user用戶權限審計權限配置
SHOW MASTER STATUS主庫 Binlog 位置搭建複製必看
SHOW SLAVE STATUS從庫複製狀態\G 觀察 Seconds_Behind_Master

關鍵狀態指標解讀 (SHOW GLOBAL STATUS)

指標含義健康閾值/建議
Threads_connected當前連接數接近 max_connections 80% 須擴容或限流
Threads_running活躍查詢線程數持續 > CPU 核心數 可能擁塞
Aborted_connects嘗試連接失敗次數持續增長檢查網絡/防火牆/認證
Connections歷史總連接數配合 Uptime 算 QPS
Questions / Queries執行語句數 / 含存儲過程QPS = Questions / Uptime
Slow_queries慢查詢計數> 0 需分析慢日誌
Innodb_buffer_pool_read_requestsBuffer Pool 邏輯讀請求命中率 = 1 - (reads/requests) 應 > 99%
Innodb_buffer_pool_reads物理磁盤讀次數同上
Innodb_row_lock_waits行鎖等待次數高則檢查熱點行、長事務
Innodb_row_lock_time_avg平均鎖等待時間 (ms)> 10ms 需優化
Handler_read_rnd_next全表掃描次數高則缺索引或索引失效
Handler_read_key索引讀取次數越高越好
Created_tmp_tables / Created_tmp_disk_tables內存/磁盤臨時表數磁盤臨時表比例 > 10% 擴大 tmp_table_size
Select_full_join無索引 JOIN 次數> 0 需加索引
Sort_merge_passes排序溢寫磁盤次數> 0 擴大 sort_buffer_size

命令行工具等價調用

# 顯示變量
mysqladmin variables -u root -p

# 顯示擴展狀態
mysqladmin extended-status -u root -p

# 幫助與詳細編譯參數
mysqld --verbose --help | more

實戰巡檢腳本思路

  1. 每分鐘采集 SHOW GLOBAL STATUS 關鍵指標 → 時序庫 (Prometheus/InfluxDB) → Grafana 告警。
  2. 慢查詢告警觸發 → 自動 EXPLAIN + SHOW CREATE TABLE + SHOW INDEX 入庫供人工複盤。
  3. 複製延遲 Seconds_Behind_Master > 300 秒 → 告警 + 自動切換只讀流量。
SHOW 命令是「瞬間快照」,持續觀測需配合監控系統采集時序數據。切記:SHOW ENGINE INNODB STATUS 輸出極大,腳本解析時需限制長度或僅抽取關鍵段 (SEMAPHORES、TRANSACTIONS、FILE I/O、BUFFER POOL AND MEMORY)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved