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

MySQL SHOW 指令大全:查看資料庫、表、索引、進程與引擎狀態

     編輯:MySQL 綜合教學

MySQL SHOW 系列指令是 DBA 與開發者日常巡檢、排查效能、驗證結構的瑞士刀。本文系統彙整 20+ 常用 SHOW 命令,按對象分類並附帶實戰輸出解讀,助您快速定位所需資訊。

資料庫與表結構類

指令用途關鍵輸出欄位
SHOW DATABASES;列出所有資料庫Database
SHOW TABLES [FROM db_name];列出指定庫的所有表Tables_in_db
SHOW COLUMNS FROM tbl_name [FROM db_name];顯示表欄位定義Field, Type, Null, Key, Default, Extra
SHOW CREATE TABLE tbl_name;顯示建表完整 DDLCreate Table(含引擎、字元集、索引)
SHOW TABLE STATUS [FROM db_name];表統計資訊Engine, Rows, Avg_row_length, Data_length, Index_length, Auto_increment, Create_time
SHOW INDEX FROM tbl_name;顯示索引詳情Key_name, Seq_in_index, Column_name, Cardinality, Null, Index_type

權限與使用者類

指令用途
SHOW GRANTS FOR 'user'@'host';顯示使用者權限(等同 GRANT 語句)
SHOW PRIVILEGES;列出伺服器支援的所有權限項目

效能與執行狀態類

指令用途關鍵指標
SHOW STATUS [GLOBAL|SESSION];伺服器狀態變數Threads_connected, Questions, Slow_queries, Innodb_buffer_pool_reads, Handler_read_rnd_next
SHOW VARIABLES [LIKE 'pattern'];系統配置參數innodb_buffer_pool_size, max_connections, sql_mode, character_set_server
SHOW PROCESSLIST;當前執行緒/查詢Id, User, Host, db, Command, Time, State, Info(需 PROCESS 權限看全)
SHOW ENGINE INNODB STATUS;InnoDB 內部狀態交易、鎖、死鎖、緩衝池、檔案 I/O 詳細資訊
SHOW WARNINGS / SHOW ERRORS;最近語句的警告/錯誤排查截斷、外鍵失敗等隱性問題

儲存引擎與備份類

指令用途
SHOW ENGINES;列出所有引擎支援狀態(DEFAULT/YES/NO/DISABLED)
SHOW CREATE DATABASE db_name;顯示建庫 DDL
SHOW BINLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT n];檢視 Binlog 事件(補充指令)
SHOW MASTER STATUS;主庫 Binlog 位置
SHOW SLAVE STATUS\G;從庫複寫狀態(關鍵:Seconds_Behind_Master)

命令列工具:mysqlshow

不進入 MySQL Shell 即可查詢結構:

# 列出所有資料庫
mysqlshow -u root -p

# 列出指定庫的表
mysqlshow -u root -p mysql

# 列出表欄位
mysqlshow -u root -p mysql user

# 列出欄位詳細屬性
mysqlshow -u root -p mysql user user

實戰巡檢腳本範例

#!/bin/bash
# 日常巡檢關鍵指標
mysql -e "SHOW GLOBAL STATUS LIKE 'Threads_%'; SHOW GLOBAL STATUS LIKE 'Slow_queries'; SHOW ENGINE INNODB STATUS\G" | tee /var/log/mysql_daily_$(date +%F).log

延伸閱讀

  • 三種常用的 MySQL 建表語句
  • MySQL 連接查詢實戰講解
  • 教您如何實現 MySQL 多表插入
  • MySQL 修復表的兩個小技巧
  • MySQL 分區表對函數的限制
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved