萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

MySQL SHOW 命令大全:從入門到精通的運維速查手冊

物件結構查詢

運行狀態與效能監控

命令說明關鍵輸出欄位
SHOW DATABASES列出所有資料庫Database
SHOW TABLES [FROM db_name]列出當前/指定庫的表Tables_in_db
SHOW TABLE STATUS [FROM db_name] [LIKE 'pattern']表詳細狀態Name, Engine, Version, Row_format, Rows, Avg_row_length, Data_length, Index_length, Data_free, Auto_increment, Create_time, Update_time, Check_time, Collation, Checksum, Create_options, Comment
SHOW COLUMNS FROM tbl_name [FROM db_name] / DESC tbl_name欄位定義Field, Type, Collation, Null, Key, Default, Extra, Privileges, Comment
SHOW CREATE TABLE tbl_name建表 SQL (含分區、外鍵、索引)Table, Create Table
SHOW INDEX FROM tbl_name [FROM db_name]索引詳情Table, Non_unique, Key_name, Seq_in_index, Column_name, Collation, Cardinality, Sub_part, Packed, Null, Index_type, Comment, Index_comment
SHOW CREATE DATABASE db_name建庫 SQLDatabase, Create Database
SHOW ENGINES支援的儲存引擎Engine, Support, Comment, Transactions, XA, Savepoints
命令說明典型用途
SHOW STATUS [LIKE 'pattern']伺服器狀態變數 (全域/會話)監控連線數、查詢量、緩衝池命中、臨時表、鎖等待、InnoDB 內部狀態
SHOW GLOBAL STATUS全域狀態 (累計)容量規劃、趨勢分析
SHOW SESSION STATUS當前會話狀態單查詢效能分析
SHOW PROCESSLIST / SHOW FULL PROCESSLIST當前執行緒列表找長查詢、鎖等待、睡眠連線、複寫狀態
SHOW ENGINE INNODB STATUSInnoDB 內部詳細狀態死鎖分析、鎖等待、緩衝池、清理執行緒、Undo 日誌
SHOW ENGINE INNODB MUTEXInnoDB 互斥鎖統計鎖爭用熱點分析
SHOW SLAVE STATUS / SHOW REPLICA STATUS (8.0.22+)從庫複寫狀態Seconds_Behind_Master, Slave_IO_Running, Slave_SQL_Running, Last_Error, Relay_Log_Space
SHOW MASTER STATUS主庫 Binlog 位置File, Position, Binlog_Do_DB, Binlog_Ignore_DB, Executed_Gtid_Set
SHOW BINARY LOGS / SHOW BINLOG EVENTSBinlog 檔案列表/事件內容PITR 定位、審計
SHOW RELAYLOG EVENTS中繼日誌事件從庫重放分析

權限與安全審計

命令說明
SHOW GRANTS [FOR user@host]顯示使用者權限 (含角色 8.0+)
SHOW PRIVILEGES列出伺服器支援的所有權限
SHOW CREATE USER user@host顯示建立使用者的完整語句 (含密碼雜湊、屬性)

配置與變數

命令說明
SHOW VARIABLES [LIKE 'pattern']系統變數 (全域/會話)
SHOW GLOBAL VARIABLES全域配置
SHOW SESSION VARIABLES會話配置

診斷與錯誤處理

命令說明
SHOW WARNINGS [LIMIT n]上一條語句的警告/通知
SHOW ERRORS [LIMIT n]上一條語句的錯誤 (嚴重級別)
SHOW PROFILE [TYPES] [FOR QUERY n]查詢剖析 (需 profiling=ON),CPU、I/O、上下文切換、IPC、記憶體
SHOW PROFILES最近查詢剖析列表

進階與冷門但實用

  • SHOW OPEN TABLES:目前開啟的表快取狀態。
  • SHOW TABLESPACES:InnoDB 表空間資訊 (8.0+)。
  • SHOW FUNCTION CODE / PROCEDURE CODE:預存程序字節碼 (除錯用)。
  • SHOW EVENTS:排程事件列表。
  • SHOW TRIGGERS:觸發器列表。
  • SHOW PLUGINS:已安裝插件狀態。
  • SHOW FIREWALL_USERS / WHITELIST:MySQL Enterprise Firewall (商業版)。

運維常用組合拳

-- 1. 快速健康檢查
SHOW GLOBAL STATUS LIKE 'Threads_%';
SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool_read%';
SHOW GLOBAL STATUS LIKE 'Innodb_row_lock%';
SHOW GLOBAL VARIABLES LIKE 'innodb_buffer_pool_size';

-- 2. 找出阻塞鏈
SELECT * FROM information_schema.INNODB_TRX
JOIN information_schema.INNODB_LOCK_WAITS ON trx_id = requesting_trx_id
JOIN information_schema.INNODB_LOCKS ON lock_id = requested_lock_id;

-- 3. 複寫延遲監控
SHOW SLAVE STATUS\G
-- 關鍵:Seconds_Behind_Master, Slave_IO_Running, Slave_SQL_Running, Last_SQL_Error

-- 4. 空間佔用 Top 10
SELECT TABLE_SCHEMA, TABLE_NAME, DATA_LENGTH+INDEX_LENGTH AS total_bytes
FROM information_schema.TABLES
ORDER BY total_bytes DESC LIMIT 10;
copyright © 萬盛學電腦網 all rights reserved