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

MySQL SHOW 命令大全:從基礎查詢到性能診斷的 18 種用法

     編輯:MySQL 資料庫相關知識

SHOW 是 MySQL 管理員和開發者最常用的元數據查看命令族。本文系統梳理 18 種核心用法,按功能分類並附帶實戰場景說明,助你快速定位問題。

數據庫與表結構類

命令說明典型場景
SHOW DATABASES;列出所有數據庫確認實例級架構、權限規劃
SHOW TABLES [FROM db_name];列出當前/指定庫的所有表Schema 核對、腳本生成
SHOW COLUMNS FROM tbl_name [FROM db_name];顯示表列定義(等同 DESC tbl_name)開發建表驗證、ORM 映射
SHOW CREATE TABLE tbl_name;顯示建表完整 SQL(含引擎、字符集、分區、索引)遷移評估、版本對比、文檔生成
SHOW INDEX FROM tbl_name;顯示索引詳細信息(基數、前綴長度、類型)索引優化、重複索引檢測
SHOW TABLE STATUS [FROM db_name];表級統計:行數、大小、引擎、自增值、更新時間、碎片率容量規劃、碎片整理判斷、備份窗口估算

運行狀態與性能類

命令說明關鍵指標示例
SHOW STATUS;服務器狀態變量(會話/全局)Threads_connected、Queries、Innodb_buffer_pool_reads、Handler_read_rnd_next
SHOW VARIABLES;服務器配置參數(會話/全局)innodb_buffer_pool_size、max_connections、sql_mode、character_set_server
SHOW PROCESSLIST;當前所有線程(查詢、鎖等待、睡眠)慢查詢定位、阻塞鏈分析、殺進程 KILL id
SHOW ENGINE INNODB STATUS;InnoDB 內部狀態(事務、鎖、死鎖、緩衝池、日誌、插入緩衝)死鎖復盤、鎖等待分析、刷盤性能診斷
SHOW ENGINES;可用存儲引擎及默認引擎遷移前確認目標引擎支持

權限與安全類

命令說明
SHOW GRANTS FOR user[@host];顯示用戶權限(等同 SHOW GRANTS FOR CURRENT_USER)
SHOW PRIVILEGES;列出服務器支持的所有權限類型

日誌與診斷類

命令說明
SHOW LOGS;BDB 引擎日誌(已棄用,歷史參考)
SHOW WARNINGS;最後一條語句產生的警告、錯誤、通知
SHOW ERRORS;僅顯示最後一條語句的錯誤
SHOW BINLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT n];二進制日誌事件瀏覽(複製、PITR 核心)
SHOW MASTER STATUS; / SHOW SLAVE STATUS;主從複製狀態核心命令

進階技巧

  • 模糊匹配:SHOW VARIABLES LIKE 'innodb%';、SHOW STATUS LIKE 'Com_%';
  • 會話 vs 全局:SHOW SESSION VARIABLES / SHOW GLOBAL STATUS 精確控制作用域。
  • information_schema 替代:SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA='db'; 可做複雜過濾、聚合、Join,適合自動化腳本。

常見誤區提醒

  • SHOW TABLE STATUS 的 Rows 在 InnoDB 中是估算值,不可用於精確行數統計。
  • SHOW PROCESSLIST 默認只顯示前 100 條,完整視圖需 SHOW FULL PROCESSLIST 或查 performance_schema.threads。
  • SHOW ENGINE INNODB STATUS 輸出文本長度受限(舊版 1MB),完整內容請查 innodb_status 表或啟用 innodb_print_all_deadlocks 寫入錯誤日誌。

熟練掌握 SHOW 家族,是 MySQL 日常運維、故障排查、性能調優的「聽診器」與「手術刀」。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved