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

MySQL SHOW 命令大全:庫、表、索引、權限、進程、引擎、狀態一網打盡

     編輯:MySQL 資料庫相關知識

SHOW 是 MySQL 運維、開發、調優的「瑞士軍刀」。本文按功能域分類匯總 20+ 高頻 SHOW 命令,附帶輸出關鍵列解讀與實戰用法,建議收藏備查。

一、 對象結構類

命令說明關鍵輸出列典型用途
SHOW DATABASES;列出所有數據庫Database巡檢、腳本遍歷
SHOW TABLES [FROM db_name];列出當前/指定庫的表Tables_in_dbSchema 同步、遷移清單
SHOW COLUMNS FROM tbl_name [FROM db_name];列定義 (等同 DESC)Field, Type, Null, Key, Default, Extra快速查結構
SHOW CREATE TABLE tbl_name;完整建表 DDLTable, Create Table遷移、審計、版本控制
SHOW TABLE STATUS [FROM db_name];表級統計信息Name, Engine, Rows, Data_length, Index_length, Auto_increment, Create_time, Collation容量規劃、碎片判斷
SHOW INDEX FROM tbl_name;索引詳情Key_name, Non_unique, Seq_in_index, Column_name, Cardinality, Index_type索引優化、重複索引檢測

二、 運行時狀態類

命令說明關鍵指標
SHOW STATUS;服務器狀態變量 (會話/全局)Threads_connected, Questions, Slow_queries, Innodb_buffer_pool_reads, Handler_read_rnd_next
SHOW GLOBAL STATUS;全局累計計數器同上,適合監控採集
SHOW SESSION STATUS;當前會話計數器排查單連接行為
SHOW PROCESSLIST;當前線程列表Id, User, Host, db, Command, Time, State, Info (SQL文本)
SHOW FULL PROCESSLIST;完整 SQL 文本 (不截斷)同上,Info 列完整
SHOW ENGINE INNODB STATUS;InnoDB 內部狀態 (鎖、事務、緩衝池、日志)死鎖信息、事務等待、緩衝池命中率
SHOW ENGINES;可用存儲引擎及默認引擎Engine, Support, Comment, Transactions, XA, Savepoints

三、 配置與權限類

命令說明關鍵輸出
SHOW VARIABLES [LIKE 'pattern'];系統變量 (配置參數)Variable_name, Value (如 max_connections, innodb_buffer_pool_size)
SHOW GRANTS [FOR user@host];用戶權限 (可用於審計/遷移)Grants for user@host (GRANT 语句形式)
SHOW PRIVILEGES;服務器支持的所有權限類型Privilege, Context, Comment
SHOW CREATE DATABASE db_name;建庫 DDLDatabase, Create Database

四、 診斷與日志類

命令說明
SHOW WARNINGS;上一條語句產生的警告/提示/錯誤 (含代碼、消息)
SHOW ERRORS;僅顯示錯誤 (ERROR 級別)
SHOW BINLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT n];解析二進制日志事件 (需 REPLICATION CLIENT 權限)
SHOW MASTER STATUS;主庫當前 Binlog 文件/位置
SHOW SLAVE STATUS \G;從庫複製狀態 (Seconds_Behind_Master, Last_IO_Error, Last_SQL_Error)
SHOW RELAYLOG EVENTS ...;解析中繼日志

五、 實戰組合拳

  1. 找慢查詢源頭: SHOW FULL PROCESSLIST → 看 State 為 Sending data/Locked、Time 大的線程 → KILL id。
  2. 判斷主從延遲: SHOW SLAVE STATUS \G 看 Seconds_Behind_Master 及 Relay_Log_Space。
  3. 分析死鎖: SHOW ENGINE INNODB STATUS 找 LATEST DETECTED DEADLOCK 區塊。
  4. 配置驗收: SHOW VARIABLES LIKE 'innodb_%'; 對比標準化參數模板。
  5. 權限遷移: SHOW GRANTS FOR 'app'@'%'; → 在新實例執行輸出的 GRANT 語句。

六、 輸出格式小技巧

  • \G 替換分號:垂直顯示,適合寬表/長文本 (如 SHOW ENGINE INNODB STATUS\G)。
  • LIKE 'pattern%' 支持通配符過濾,減少輸出噪音。
  • mysql -e "SHOW ..." -t 表格輸出,便於腳本解析/報表嵌入。

七、 總結

SHOW 族命令覆蓋「靜態結構 → 動態運行 → 配置權限 → 複製日志」全鏈路。熟練掌握高頻 10 條 (DATABASES, TABLES, COLUMNS, CREATE TABLE, INDEX, STATUS, PROCESSLIST, VARIABLES, GRANTS, ENGINE INNODB STATUS) 即可應對 90% 運維開發場景。

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