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

MySQL SHOW 命令完全指南:從基礎查詢到性能診斷

     編輯:MySQL 綜合教學

MySQL SHOW 命令完全指南:從基礎查詢到性能診斷

SHOW 系列命令是 MySQL 運行狀態觀測、元數據查詢、權限審計的核心工具集。本文分類整理 18 個常用 SHOW 子命令,並補充基礎操作速查表。

一、元數據查詢類

命令作用示例
SHOW DATABASES列出所有數據庫SHOW DATABASES;
SHOW TABLES [FROM db_name]列出當前/指定庫的表SHOW TABLES FROM test;
SHOW COLUMNS FROM tbl_name [FROM db_name]顯示表結構 (等同 DESC tbl_name)SHOW COLUMNS FROM users;
SHOW CREATE DATABASE db_name顯示建庫語句SHOW CREATE DATABASE test;
SHOW CREATE TABLE tbl_name顯示建表語句SHOW CREATE TABLE users;
SHOW INDEX FROM tbl_name顯示索引詳情SHOW INDEX FROM orders;

二、權限與安全類

命令作用
SHOW GRANTS FOR user顯示用戶權限 (等同 GRANT 語句)
SHOW PRIVILEGES顯示服務器支持的所有權限類型

三、運行狀態與性能診斷類

命令作用關鍵輸出
SHOW PROCESSLIST當前所有線程/查詢Id, User, Host, db, Command, Time, State, Info
SHOW STATUS服務器狀態變量Threads_running, Queries, Slow_queries, Innodb_buffer_pool_reads
SHOW VARIABLES系統配置變量max_connections, innodb_buffer_pool_size, sql_mode
SHOW TABLE STATUS [FROM db_name]表級統計信息Engine, Rows, Data_length, Index_length, Auto_increment, Update_time
SHOW ENGINES / SHOW [STORAGE] ENGINES可用存儲引擎及默認引擎Support, Comment, Transactions, XA, Savepoints
SHOW INNODB STATUSInnoDB 內部狀態 (鎖、事務、緩沖池、日志等)大量文本輸出,建議導出文件分析
SHOW LOGSBDB 引擎日志 (已棄用)--
SHOW WARNINGS上條語句的警告/錯誤/通知Level, Code, Message
SHOW ERRORS上條語句的錯誤Level, Code, Message

四、MySQL 基礎操作速查表

-- 連接/斷開
mysql -h host -u user -p
QUIT / EXIT

-- 數據庫操作
CREATE DATABASE db_name;
USE db_name;
DROP DATABASE db_name;

-- 表操作
CREATE TABLE tbl (col1 TYPE, col2 TYPE...);
DESCRIBE tbl;
ALTER TABLE tbl ADD COLUMN col TYPE;
ALTER TABLE tbl MODIFY col NEW_TYPE;
ALTER TABLE tbl CHANGE old_col new_col TYPE;
DROP TABLE tbl;

-- 數據操作
INSERT INTO tbl (col1, col2) VALUES (val1, val2);
SELECT * FROM tbl WHERE condition;
UPDATE tbl SET col1=val1 WHERE condition;
DELETE FROM tbl WHERE condition;

-- 備份/恢復
mysqldump -u root -p db_name > backup.sql
mysql -u root -p db_name < backup.sql
mysqldump -u root -p db_name tbl_name > tbl_backup.sql

-- 權限管理
GRANT ALL ON db.* TO 'user'@'host' IDENTIFIED BY 'pass';
REVOKE DELETE ON *.* FROM 'user'@'host';
FLUSH PRIVILEGES;
DROP USER 'user'@'host';
RENAME USER 'old'@'%' TO 'new'@'%';
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

五、實戰技巧

  • SHOW PROCESSLIST 配合 KILL id 處理阻塞查詢。
  • SHOW STATUS LIKE 'Slow_queries' + SHOW VARIABLES LIKE 'long_query_time' 監控慢查詢。
  • SHOW ENGINE INNODB STATUS\G 定期導出,分析死鎖、鎖等待、緩沖池命中率。
  • SHOW TABLE STATUS 中 Data_free 大表示碎片多,需 OPTIMIZE TABLE。
  • SHOW VARIABLES LIKE 'log_%' 快速檢查各類日志是否開啟。

熟練掌握 SHOW 命令族,是 MySQL DBA 與開發者高效定位問題、優化性能的基本功。

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