MySQL DBA命令最全详解(2026最新详细版)

MySQL是大型架构核心,下面我详解MySQL DBA命令@mikechen
1. SHOW DATABASES —— 查看数据库

SHOW DATABASES;

查看当前 MySQL 实例中的数据库。

2. SHOW TABLE STATUS —— 查看表状态

SHOW TABLE STATUS;

查看表的详细信息,包括:

  • 表大小
  • 行数
  • 存储引擎
  • 创建时间
  • 更新时间
  • 数据长度
  • 索引长度

也可以:

SHOW TABLE STATUS FROM shop;

3. SHOW FULL PROCESSLIST —— 查看数据库连接

SHOW FULL PROCESSLIST;

这是 DBA 排查 MySQL 问题非常重要的命令。

重点关注:

Id
User
Host
db
Command
Time
State
Info

例如发现某个 SQL 长时间处于:

Locked
Waiting for table metadata lock
Sending data

就需要进一步排查。

4. SHOW ENGINE INNODB STATUS —— 查看InnoDB状态

SHOW ENGINE INNODB STATUS\G

这是 MySQL DBA 非常核心的诊断命令。

可以查看:

  • 事务
  • 死锁
  • Buffer Pool
  • I/O
  • 日志
  • 信号量

尤其是排查 InnoDB 死锁 时非常常用。

5. SHOW VARIABLES —— 查看MySQL配置

SHOW VARIABLES;

查看 MySQL 当前配置。

例如:

SHOW VARIABLES LIKE 'max_connections';

查看最大连接数:

SHOW VARIABLES LIKE 'innodb_buffer_pool_size';

查看 InnoDB Buffer Pool:

SHOW VARIABLES LIKE 'slow_query_log';

查看慢查询日志是否开启。

6. SHOW STATUS —— 查看MySQL运行状态

SHOW STATUS;

查看 MySQL 当前运行状态。

例如:

SHOW STATUS LIKE 'Threads_connected';

查看当前连接数。

SHOW STATUS LIKE 'Threads_running';

查看正在执行的线程数。

SHOW STATUS LIKE 'Questions';

查看服务器接收的查询请求数量。

7. EXPLAIN —— 分析SQL执行计划

EXPLAIN
SELECT *
FROM user
WHERE name = '张三';

这是 DBA / 开发人员进行 SQL性能优化 最核心的命令之一。

重点关注:

type
possible_keys
key
rows
Extra

例如:

type = ALL

通常意味着全表扫描,需要进一步检查索引设计和 SQL。

MySQL 8.0 还可以使用:

EXPLAIN ANALYZE
SELECT ...

对实际执行过程进行分析。

8. SHOW INDEX —— 查看索引

SHOW INDEX FROM user;

可以查看:

  • 索引名称
  • 索引字段
  • 索引类型
  • 唯一性
  • 索引基数
  • 索引顺序

例如:

SHOW INDEX FROM user WHERE Key_name = 'idx_name';

排查 SQL 慢、索引失效、索引设计问题时非常常用。

9. SHOW CREATE TABLE —— 查看完整建表语句

SHOW CREATE TABLE user\G

相比 DESC,这个命令能够看到更加完整的表定义。

包括:

  • 字段
  • 主键
  • 索引
  • 唯一约束
  • 外键
  • 存储引擎
  • 字符集
  • 排序规则

例如:

SHOW CREATE TABLE user;

这是 DBA 排查表结构、索引和字符集问题时非常实用的命令。

以上

评论交流
    说说你的看法