首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MYSQL-系统库表(information_schema)

MYSQL-系统库表(information_schema)

作者头像
运维小路
发布2026-01-26 11:54:34
发布2026-01-26 11:54:34
1430
举报
文章被收录于专栏:运维小路运维小路

作者介绍:简历上没有一个精通的运维工程师,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

数据库是一个系统(应用)最重要的资产之一,所以我们的数据库将从以下几个数据库来进行介绍。

MySQL(本章节)

PostgreSQL

MongoDB

Redis

Etcd

上个小节我们介绍了MYSQL的默认库(mysql),这个小节我们来介绍另外一个库(performance_schema),他是MySQL的元数据库,提供数据库、表、列、索引等所有数据库对象的结构信息。

代码语言:javascript
复制
mysql> show tables;
+---------------------------------------+
| Tables_in_information_schema          |
+---------------------------------------+
| CHARACTER_SETS                        |
| COLLATIONS                            |
| COLLATION_CHARACTER_SET_APPLICABILITY |
| COLUMNS                               |
| COLUMN_PRIVILEGES                     |
| ENGINES                               |
| EVENTS                                |
| FILES                                 |
| GLOBAL_STATUS                         |
| GLOBAL_VARIABLES                      |
| KEY_COLUMN_USAGE                      |
| OPTIMIZER_TRACE                       |
| PARAMETERS                            |
| PARTITIONS                            |
| PLUGINS                               |
| PROCESSLIST                           |
| PROFILING                             |
| REFERENTIAL_CONSTRAINTS               |
| ROUTINES                              |
| SCHEMATA                              |
| SCHEMA_PRIVILEGES                     |
| SESSION_STATUS                        |
| SESSION_VARIABLES                     |
| STATISTICS                            |
| TABLES                                |
| TABLESPACES                           |
| TABLE_CONSTRAINTS                     |
| TABLE_PRIVILEGES                      |
| TRIGGERS                              |
| USER_PRIVILEGES                       |
| VIEWS                                 |
| INNODB_LOCKS                          |
| INNODB_TRX                            |
| INNODB_SYS_DATAFILES                  |
| INNODB_FT_CONFIG                      |
| INNODB_SYS_VIRTUAL                    |
| INNODB_CMP                            |
| INNODB_FT_BEING_DELETED               |
| INNODB_CMP_RESET                      |
| INNODB_CMP_PER_INDEX                  |
| INNODB_CMPMEM_RESET                   |
| INNODB_FT_DELETED                     |
| INNODB_BUFFER_PAGE_LRU                |
| INNODB_LOCK_WAITS                     |
| INNODB_TEMP_TABLE_INFO                |
| INNODB_SYS_INDEXES                    |
| INNODB_SYS_TABLES                     |
| INNODB_SYS_FIELDS                     |
| INNODB_CMP_PER_INDEX_RESET            |
| INNODB_BUFFER_PAGE                    |
| INNODB_FT_DEFAULT_STOPWORD            |
| INNODB_FT_INDEX_TABLE                 |
| INNODB_FT_INDEX_CACHE                 |
| INNODB_SYS_TABLESPACES                |
| INNODB_METRICS                        |
| INNODB_SYS_FOREIGN_COLS               |
| INNODB_CMPMEM                         |
| INNODB_BUFFER_POOL_STATS              |
| INNODB_SYS_COLUMNS                    |
| INNODB_SYS_FOREIGN                    |
| INNODB_SYS_TABLESTATS                 |
+---------------------------------------+
61 rows in set (0.00 sec)

1. 数据库对象结构表

TABLES - 系统所有库的表的基本信息(表名、引擎、行数、创建时间等) COLUMNS - 系统所有库的表列信息(数据类型、是否为空、默认值等) VIEWS - 视图定义信息 ROUTINES - 存储过程和函数定义 TRIGGERS - 触发器信息 EVENTS - 事件调度器信息 PARTITIONS -系统中的所有库。 注:也就是我们创建的库表等资源对象都记录在这里。

2. 索引和约束表

STATISTICS - 索引统计信息(索引名、列名、数量等) TABLE_CONSTRAINTS - 表约束(主键、唯一键、外键等) KEY_COLUMN_USAGE - 键列使用情况 REFERENTIAL_CONSTRAINTS - 外键约束详细信息

3. 字符集和校对表

CHARACTER_SETS - 支持的字符集(最常用的utf8等) COLLATIONS - 校对规则 COLLATION_CHARACTER_SET_APPLICABILITY - 字符集与校对规则映射

4. 权限信息表

USER_PRIVILEGES - 用户全局权限,可以查看所有的用户及权限。 SCHEMA_PRIVILEGES - 数据库级权限 TABLE_PRIVILEGES - 表级权限 COLUMN_PRIVILEGES - 列级权限

注:可以理解所有的权限就是这些表的组合。

5. InnoDB 专用监控表

INNODB_TRX - 当前运行事务 INNODB_LOCKS - 当前锁信息 INNODB_LOCK_WAITS - 锁等待关系 INNODB_BUFFER_POOL_STATS - 缓冲池统计 INNODB_BUFFER_PAGE - 缓冲池页面详情 INNODB_METRICS - InnoDB 性能指标 INNODB_SYS_TABLESPACES - 表空间信息 INNODB_SYS_DATAFILES - 数据文件信息

注:当有性能问题的时候,可以通过分析这些表里面的数据作为判断依据。

6. 系统和状态表

GLOBAL_VARIABLES - 全局系统变量 SESSION_VARIABLES - 会话系统变量 GLOBAL_STATUS - 全局状态变量 SESSION_STATUS - 会话状态变量 PROCESSLIST - 当前连接进程 PLUGINS - 已安装插件 ENGINES - 支持的存储引擎 FILES - 文件信息 TABLESPACES - 表空间信息

注:有些表是不能直接使用select 进行查询的,通过查询这些表的信息(其他方法)可以查看到数据库的底层配置参数等。

7. 其他功能表

PARAMETERS - 存储过程和函数参数 PROFILING - 查询性能分析(已弃用) OPTIMIZER_TRACE - 优化器跟踪信息

主要特点:

  • 只读视图:所有表都是视图,不能直接修改
  • 实时数据:反映当前数据库状态
  • 标准化:遵循 SQL 标准
  • 跨引擎:支持所有存储引擎
  • 权限控制:只能看到有权限访问的对象

这种分类方式清晰地展示了 information_schema 作为 MySQL 元数据信息库的核心功能,涵盖了数据库结构、权限、性能监控等各个方面。

这个命令才是我最常用的使用这个库表的命令,不过我每次都是用的时候时候才搜索,或者现在可以直接让AI生成。

代码语言:javascript
复制
mysql> SELECT 
    ->     TABLE_SCHEMA,
    ->     TABLE_NAME,
    ->     TABLE_ROWS,
    ->     ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024, 2) AS 'Size_MB',
    ->     ENGINE,
    ->     TABLE_COMMENT
    -> FROM information_schema.TABLES 
    -> WHERE TABLE_SCHEMA = 'test_db'
    -> ORDER BY (DATA_LENGTH + INDEX_LENGTH) DESC;
+--------------+--------------------+------------+---------+--------+---------------+
| TABLE_SCHEMA | TABLE_NAME         | TABLE_ROWS | Size_MB | ENGINE | TABLE_COMMENT |
+--------------+--------------------+------------+---------+--------+---------------+
| test_db      | test_data          |    7587917 |  665.88 | InnoDB |               |
| test_db      | users              |          2 |    0.03 | InnoDB |               |
| test_db      | user_audit_log     |          0 |    0.02 | InnoDB |               |
| test_db      | departments        |          0 |    0.02 | InnoDB |               |
| test_db      | myisam_table       |          0 |    0.00 | MyISAM |               |
| test_db      | vw_test_data_basic |       NULL |    NULL | NULL   | VIEW          |
+--------------+--------------------+------------+---------+--------+---------------+
6 rows in set (0.00 sec)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-10-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维小路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MongoDB
    • 1. 数据库对象结构表
    • 2. 索引和约束表
    • 3. 字符集和校对表
    • 4. 权限信息表
    • 5. InnoDB 专用监控表
    • INNODB_TRX - 当前运行事务 INNODB_LOCKS - 当前锁信息 INNODB_LOCK_WAITS - 锁等待关系 INNODB_BUFFER_POOL_STATS - 缓冲池统计 INNODB_BUFFER_PAGE - 缓冲池页面详情 INNODB_METRICS - InnoDB 性能指标 INNODB_SYS_TABLESPACES - 表空间信息 INNODB_SYS_DATAFILES - 数据文件信息
    • 注:当有性能问题的时候,可以通过分析这些表里面的数据作为判断依据。
    • 6. 系统和状态表
    • 7. 其他功能表
    • 主要特点:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档