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

MySQL SHOW 指令大全:狀態、結構、權限、進程一覽無遺

     編輯:MySQL 資料庫相關知識

SHOW 是 MySQL 內建檢視中繼資料、運行狀態的瑞士刀,掌握常用變體可大幅提升診斷效率。

錯誤與警告

  • SHOW ERRORS;:僅顯示最後一條語句的錯誤。
  • SHOW WARNINGS;:顯示最後一條語句的錯誤、警告、通知。

引擎與日誌

  • SHOW ENGINES;:列出所有支援引擎及預設引擎。
  • SHOW ENGINE INNODB STATUS;:InnoDB 詳細運行狀態(鎖、死鎖、緩衝區、Undo Log 等)。
  • SHOW LOGS;:BDB 引擎日誌(極少用)。

系統變數與狀態

  • SHOW VARIABLES [LIKE 'pattern'];:系統配置參數(靜態/動態)。
  • SHOW STATUS [LIKE 'pattern'];:運行時計數器(連線數、查詢數、緩衝區命中等)。

資料庫與物件結構

  • SHOW DATABASES;:所有資料庫名稱。
  • SHOW TABLES [FROM db_name];:目前/指定資料庫所有表。
  • SHOW TABLE STATUS [FROM db_name];:每表詳細資訊(引擎、列數、資料長度、索引長度、自增值、更新時間等)。
  • SHOW COLUMNS FROM tbl_name [FROM db_name]; / DESCRIBE tbl_name;:欄位定義。
  • SHOW INDEX FROM tbl_name;:索引詳情(基數、選擇性、前綴長度等)。
  • SHOW CREATE DATABASE db_name;:建庫 SQL。
  • SHOW CREATE TABLE tbl_name;:建表 SQL(含分區、引擎、字元集等完整定義)。

權限與使用者

  • SHOW PRIVILEGES;:伺服器支援的權限項目。
  • SHOW GRANTS FOR 'user'@'host';:特定使用者權限(輸出同 GRANT 語法)。

進程與鎖

  • SHOW PROCESSLIST;:目前所有執行緒(Id、User、Host、db、Command、Time、State、Info)。
    普通使用者僅見自己進程;具 PROCESS 權限可見全庫(含他人查詢文本)。
  • KILL [CONNECTION | QUERY] thread_id;:終止進程/查詢。

實用組合招

-- 找出執行超過 60 秒的查詢
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST 
WHERE TIME > 60 AND COMMAND = 'Query';

-- 查看 InnoDB 鎖等待
SHOW ENGINE INNODB STATUS\G  -- 關注 LATEST DETECTED DEADLOCK 與 TRANSACTIONS 區塊
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved